Ir ao conteúdo
  • Cadastre-se

Egb

Membros Plenos
  • Total de itens

    38
  • Registro em

  • Última visita

  • Qualificações

    0%
  1. Nossa que enunciado difícil consegui entender não...
  2. tenta usar: scanf("%d",&op); repara no "%d" , pode ser isso. ate+
  3. Ola Diogo, Vai depender de que tipo de programação você quer fazer... Se você estiver pensando em programar em DOS, tipo com o TurboC++, você deve pesquisar o uso das funcoes inportb() e outportb(). Se você estiver querendo usar aplicacoes Windows, usando o Dev ou o builder você pode usar um pequeno codigo em asembler para acessar o hardware das portas. Ou então usar a propria API do windows que é bem mais chatinho de fazer, ou ainda, no caso do builder, usar um actvex que faça todo o trabalho. Recomendo que você de uma olhada no site www.rogercom.com, la tem exemplos de codigo e é um site super bacana. OBS: O windows não permite o acesso direto ao hardware! ( pelo menos o XP não permite...) então você vai precisar instalar um driver chamado UserPort, chama o google heheheh.
  4. Egb

    Acesso a memória RAM com VB6

    Ola, Rapaz eu fiz uma pergunta meio parecida esses dias, da uma olhada no topico "teste com ponteiros". Acho que acesso a memoria RAM diretamente fica impossivel, a solucao é usar tecnicas de compartilhamento de dados IPC, como DDE ou muitas outras que não lembro o nome. Mas isso é bem longe do que seria acessar a memoria diretamente, porque essas tecnicas funcionam como um contrato entre duas aplicacoes onde elas concordam em compartilhar dados.
  5. Egb

    PASCAL (Sound)

    freqüências musicais??? http://br.geocities.com/saladefisica3/labo...sica/musica.htm acho que é isso.
  6. já usei um compilador C pra pic chamado PICC, (na verdade acho que picc e apenas o editor, parece que o compilador tem outro nome...). Enfim, nele quando eu queria ler os pinos podia usar: input(PIN_B0); // ler o pino B0 output_high(PIN_B0); // B0 em nivel alto output_low(PIN_B0); // B0 em nivel baixo if(bit_test(dado,0)) // testa um bit dentro de uma variavel para usar os ports inteiros: char dado = input_d(); //armazena todo o port D em um char output_b(dado); //escreve um byte no port B quando você usa programacao em linguagem C você tem uma grande vantagem de programar sem se preocupar muito com o modelo do pic que você ta usando (com algumas ecxecoes), exemplo: você pode usar uma função de leitura como input_d(); e logo depois chamar uma funcao de escrita como output_d(dado); sem se preocupar em configurar os pinos como entrada ou saida. na verdade, essas configurações são feitas mais tarde na compilação, mas isso fica transparente ao programador C. existem varias bibliotecas na pasta de instalacão desse PICC, que possuem varias funcoes para facilitar no trabalho de automação, como no caso do acionamento de motores de passo... Ate+
  7. valeu tornado, Obrigado pelo interesse em ajudar. Eu acho que não deveria ter usado o termo "memoria virtual", que esta relacionado com outro assunto muito distante desse topico. Não sei se você reparou no inicio do topico... tudo isso era um teste de ponteiros, que acabou inclusive, servindo pra comprovar o que você falou sobre o endereco inicial de um programa. De fato, como os programas eram identicos, eles imprimiam os mesmos enderecos pra variavel char declarada logo apos main().
  8. Tudo bem já foi entendido que um ponteiro aponta para a tal da memoria Virtual. Assim, a unica forma que TALVES (suposicao passageira sem embasamento teorico srsrsr) existisse seria ler os registradores de controle da memoria RAM dentro da cpu, ou talves nem assim desse certo, enfim mesmo que fosse possivel, praque??? então deixa queto. Então andre, você ta certo sim cara os ponteiros tem como exibir o endereco da memoria "sim", seu exemplo ta certo. ( mas agora você já sabe que esse endereco é o da memoria virtual!!! e não o da memoria RAM como eu imaginava antes rsrsrsrsr)
  9. Ola, não entendi sua pergunta, o que seria contagem do 0 e 1 ?
  10. Obrigado EduardoS, Essa estoria da memoria virtual talves explique tambem uma outra coisa que eu tinha reparado... Os dois programas declaravam um char e mostravam o endereco da variavel recem criada, achei estranho porque mesmo sendo aplicativos diferentes, as variaveis char mostravam o mesmo endereco!!! só sendo um endereco virtual mesmo . Mas acho que foi valido o teste, porque eu imaginava que os ponteiros apontavam pra o endereço fisico da memoria!!! O mesmo endereco que a CPU usa pra acessar a memoria DDR, eu estava viajando rsrsrsrsr. Mas acho que muita gente pensa isso tambem... Mas agora fiquei mais curioso. Teria como acessar um byte dentro da memoria do sistema, quem sabe usando assembly, mesmo que seja só pra ler??? não sei exatamente pra que, mas poderia ser util compartilhar informaçoes entre aplicativos em baixo nivel... tentando responder a pergunta do andreh: declaramos e inicializamos um char e declaramos um ponteiro para o tipo char: char caracter = 'k'; char *ponteiro; a variavel caracter tem um endereco na memoria você pode conferir assim: printf("endereco de caracter: %u", &caracter); então como nosso ponteiro guarda um endereco do tipo char fazemos: ponteiro = &caracter; (no meu teste eu entrava o endereco manualmente com scanf() mas e outra estoria) para confirmar o valor do ponteiro você pode fazer: printf("o valor do ponteiro é: %c", *ponteiro); A respeito de passar parametros por copia, referencia ou ponteiro, acho que vale a pena outro topico ( so minha opinião), cria esse topico que vai ter respostas, heheheh abraço
  11. Então andreh para preencher o ponteiro usei scanf assim: scanf("%u",&ponteiro); na verdade apenas estava fazendo experiencias com ponteiros, por isso não posso usar de recursos dos compiladores, embora acho que deve mesmo existir o que você falou. a ideia resumida do teste é: o 1º programa declara um char e imprime o endereco desse char. e o 2º programa cria um ponteiro que devera apontar para o char criado no 1º programa dessa forma eu estaria teoricamente acessando um endereco qualquer na memoria do sistema, toricamente porque eu sei que o endereco que meu ponteiro esta apontando tem um caracter criado por outro processo. talves isso seja protegido pelo sistema pra evitar lambanças por parte do programador. espero ter explicado melhor.
  12. mais uma observação: compilei os dois programas em compiladores diferentes ( dev ++ e VisualC++), gerou os executaveis numa boa, mas neste caso da um erro quando tento preencher o endereco do ponteiro com scanf() "aparece ate o dialogo de enviar relatorio de erros do windows" ate +
  13. Ola pessoal, seguinte: a gente com certeza já ouviu falar que um ponteiro serve para apontar um endereco na memoria que contem um objeto que é de enteresse. Pensando nisso, tentei fazer dois programinhas simples pra testar essa estoria. no primeiro declarei um "char caracter;" e imprimi o endereço dele na tela usando "printf("%u",caracter)", depois o usuario atribuia um caracter atraves de "caracter = getch();" e o programa ficava suspenso atraves de mais um getch() no final. no segundo programa criei um ponteiro "char *ponteiro" e deixei o usuario atribuir o endereco da memoria atraves de "scanf("%u",&ponteiro);", e depois tentei imprimir o valor do ponteiro em um "printf("%c",*ponteiro); resumindo: você tinha que ver o endereco do char no programa 1 e escrever esse valor no ponteiro do programa 2. E nada... o ponteiro não mostrava nada. detalhe, quando esses dois procedimentos são feitos dentro de um mesmo programa ai sim da certo!!! achei a ideia desse teste interessante e resolvi postar mesmo sem ter dado certo, talves alguem já tenha visto algo parecido e possa ajudar.
  14. Cara a melhor forma de te ajudar é não respondendo suas duvidas da forma que você pediu, você esta fazendo um curso de ciencias da computção!!! você vai ter que aprender isso mais cedo ou mais tarde, mesmo que você queira mexer com segurança (ai é que você vai ter que saber mesmo) os exercicios propostos são simples, por isso acho que você deve estar no primeiro modulo. (no inicio é normal ter dificuldades). se você acha que seu professor não ensina nada, pesquise com o resto da turma, ou melhor, pesquise com os veteranos da faculdade que eles vão saber dizer se o professor é bom mesmo ou não. Em ultimo caso reclame na coordenação.
  15. Então cara, já que não tem nada de onda senoidal a eletrônica deve ser mais simples. hehehe uma vez fiz um projeto que precisava de um ADC, ai comprei um ADC0804 que custou caro na epóca em relação a um microcontrolador pic (o site rogercom tem varios projetos com pics). o que quero dizer é que talves compense mais comprar um pic que já possua conversor AD interno do que comprar o ADC0804. Seu projeto ficara muito mais rico!!! programar um pic usando um compilador C é bem simples. mas se você realmente preferir usar oADC0804 na porta paralela e estiver com receio de estragar o seu PC, pesquise sobre os circuitos de proteção que você postou "acopladores opticos e buffers", um buffer que me lembro chama-se 74LS245.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Aprenda_a_Ler_Resistores_e_Capacitores-capa-3d-newsletter.jpg

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!