konstant navn i stedet for PIN-adresse

R

rezaf

Guest
Hej, hvordan kan jeg give særskilt navn til hvert ben, i stedet for at gentage den adresse (i C sprog og i mikroC pro for PIC compiler)? for eksempel LED1 = 1, i stedet for PORTB0_bit = 1;.
 
Du kan bruge # definerer for en konstant eller en makro # define LED1 PORTB0_bit Efter at når du skriver LED1 det vil være det samme som PORTB0_bit anden makro, du kan bruge, er # define led1on PORTB0_bit = 1; # define led1off PORTB0_bit = 0; i, at fald alt hvad du behøver at skrive, er led1on at indstille bit (PORTB0_bit = 1) og led1off at rydde bit (PORTB0_bit = 0) Du kan tage et kig på [url = http://www.cprogramming.com/tutorial/cpreprocessor . html] Tutorials - C Præprocessorkommandoer tricks - Cprogramming.com [/url]
 
Meget tak, den anden metode, du sagde, arbejdede, men den første metode giver fejl i oversætteren. Jeg skrevet:
Code:
 # define tx_l RB7_bit; void stop () {tx_l = 1; UART1_Write (0x53); tx_l = 0;} void main () {}
med denne kode, giver compileren fejl i tx_l = 1; linie. hvad er der galt?
 
Er RB7_bit defineres, og hvad betyder det repræsenterer? I det foregående indlæg, du spurgte om PORTB0_bit, er du sikker på, at de både kan bruges? Hvis du bruger RB7_bit = 0; i din kode virker det?
 
du har en, for enden af ​​
Code:
 # define tx_l RB7_bit;
, som vil erstatte forekomster af tx_l med RB7_bit; giver
Code:
 void stop ( ) {RB7_bit; = 1; UART1_Write (0x53), RB7_bit, = 0;} void main () {}
tag;
 
ked af at jeg fejlagtigt skrevet PORTB0_bit. i mikroc pro har TRISB0_bit og RB0_bit. Ja, hvis jeg bruger RB7_bit = 0, og det tager denne pin til lav tilstand. ja horace1 det, var forkerte i slutningen af ​​linien og med at slette det problem løst. Tak "alexan_e" og "horace1" for yor svar. dig meget hjalp mig. Jeg går for at teste mit program. Med venlig hilsen.
 

Welcome to EDABoard.com

Sponsor

Back
Top