atmega328p

Pytania, kody i porady dotyczące nie tylko Bascom.
ODPOWIEDZ
marekszy
Posty: 99
Rejestracja: 20 lis 2016, 20:21

atmega328p

Post autor: marekszy » 03 lis 2018, 22:59

Witam, mam problem z Atmegą328p, mam problem z ustawieniem portu C.0 do C.3, mam tam przyciski .
  1. Config Portc = &B00110000 : Portc = &B00001111
Czy trzeba tam coś wyłączyć programowo ,w atmega32 na przykład trzeba wyłączyć jtag aby używać jako I/0
Awatar użytkownika
niveasoft
Posty: 1213
Rejestracja: 17 sie 2015, 12:13
Kontakt:

Re: atmega328p

Post autor: niveasoft » 04 lis 2018, 3:27

Tak jak masz to powinno działać tylko upewnij się, że sprawdzając stan przycisków odczytujesz rejestr PIN a nie PORT bo mi się ostatnio zdarzył ten szkolny błąd mimo iż myślałem, że to już za mną :D Ahahaha
Więc jeden przycisk lub cały port:
  1. $regfile = "m328pdef.dat"
  2. $crystal = 16000000
  3. $hwstack = 40
  4. $swstack = 16
  5. $framesize = 64
  6.  
  7. Config Portc = &B00110000 : Portc = &B00001111
  8.  
  9. If Pinc.0 = 0 Then
  10.   'jeden pin
  11. End If
  12.  
  13. 'cały port na raz
  14. Dim Stan_sw As Byte
  15.  
  16. Stan_sw = Pinc And &B00001111
  17.  
  18. If Stan_sw <> &B00001111 Then
  19.  
  20.  Select Case Stan_sw
  21.    Case &B00000111
  22.      'przycisk C3
  23.    Case &B00001011
  24.      'przycisk C2
  25.    Case &B00001101
  26.      'przycisk C1
  27.    Case &B00001110
  28.      'przycisk C0
  29.    Case &B00001001
  30.      'dwa na raz C1+C2
  31.   End Select
  32.  
  33. End If
  34.  
marekszy
Posty: 99
Rejestracja: 20 lis 2016, 20:21

Re: atmega328p

Post autor: marekszy » 04 lis 2018, 14:28

Dzięki za odpowiedź, programowo miałem wszystko ok tylko walnąłem się na płytce i wszystkie SW były zwarte do masy :mrgreen: .Dzięki Twojemu wyjaśnieniu przestałem kombinować w programie i wziąłem się za szukanie błędów na płytce. :geek:
ODPOWIEDZ