Common Questions & Answers
}
.
.
.
delay_ms (100);
//debounce
}
The delay=ms (100) is a quick and dirty debounce. In general, you will not want to sit in an ISR
for 100 MS to allow the switch to debounce. A more elegant solution is to set a timer on the first
interrupt and wait until the timer overflows. Do not process further changes on the pin.
How do I directly read/write to internal registers?
A hardware register may be mapped to a C variable to allow direct read and write capability to
the register. The following is an example using the TIMER0 register:
#BYTE timer 0 = 0x 01
timer0= 128; //set timer0 to 128
while (timer 0 ! = 200); // wait for timer0 to reach 200
Bits in registers may also be mapped as follows:
#BIT T 0 IF = 0x 0B.2
.
.
.
while (!T 0 IF); //wait for timer0 interrupt
Registers may be indirectly addressed as shown in the following example:
printf ("enter address:");
a = gethex ();
printf
("\r\n value is %x\r\n", *a);
The compiler has a large set of built-in functions that will allow one to perform the most common
tasks with C function calls. When possible, it is best to use the built-in functions rather than
directly write to registers. Register locations change between chips and some register
operations require a specific algorithm to be performed when a register value is changed. The
compiler also takes into account known chip errata in the implementation of the built-in
functions. For example, it is better to do set_tris_ A (0); rather than *0x 85 =0;
How do I do a printf to a string?
The following is an example of how to direct the output of a printf to a string. We used the \f to
indicate the start of the string.
This example shows how to put a floating point number in a string.
main() {
char string[20];
float f;
f=12.345;
sprintf(string,"\f%6.3f",f);
}
329
相关PDF资料
PCI-EXP-T42G5-N1 IP CORE PCI EXPRESS ORCA 4
PCM18XH2 PROCESSOR MODULE MPLAB-ICE 2000
PCM18XN0 PROCESSOR MODULE FOR ICE2000
PDA-B-24-615-E-2B1-1-C CIRCUIT BREAKER MAG 1P 15A
PFMF.260.2 PFMF PTC FUSE SMT 2.6A 1812
PFNF.200.2 PFNF PTC FUSE SMT 2A 1206
PFRY.375 PTC-FUSE RADIAL 72 VDC
PFSM.150.33.2 FUSE PTC 8A 15V FST-TRIP SMD
相关代理商/技术参数
PCD_09 制造商:MACOM 制造商全称:Tyco Electronics 功能描述:Low Profile PCB Relay PCD
PCD-00173-0C 制造商:Molex 功能描述:ETHERNET CABLE ASSEMBLY
PCD-00173-0E 制造商:Molex 功能描述:Ethernet Cable Assembly
PCD-00173-0H 制造商:Molex 功能描述:ETHERNET CABLE ASSEMBLY
PCD-00173-0K 制造商:Molex 功能描述:ETHERNET CABLE ASSEMBLY
PCD-00174-0C 制造商:Molex 功能描述:ETHERNET CABLE ASSEMBLY 制造商:Molex 功能描述:ETHERNET CABLE ASSEMBLY; Cable Length - Imperial:3ft; Cable Length - Metric:914.4mm; Connector Type A:RJ45 Plug; Connector Type B:RJ45 Plug; Jacket Color:Red; Approval Bodies:CSA / UL; Body Material:PVC; Cable Assembly Type:Ethernet ;RoHS Compliant: NA
PCD-00174-0E 制造商:Molex 功能描述:ETHERNET CABLE ASSEMBLY 制造商:Molex 功能描述:ETHERNET CABLE ASSEMBLY; Cable Length - Imperial:3ft; Cable Length - Metric:914.4mm; Connector Type A:RJ45 Plug; Connector Type B:RJ45 Plug; Jacket Color:Grey; Approval Bodies:CSA / UL; Body Material:PVC; Cable Assembly Type:Ethernet;RoHS Compliant: NA
PCD-00174-0H 制造商:Molex 功能描述:ETHERNET CABLE ASSEMBLY