I am wanting to read in a bit from port a0 (0 or 1) and store > that value in some temp register until i get a byte. My code below > does not seem to work: > > btfsc porta,0 > bsf temp,7 > delay > btfsc porta,0 > bsf temp,6 > delay > etc... to temp,0. > > however, when for example i read porta,0 and then set bit 2, and output > this to porta, bit2 is set high, as is bit1. bit1 is not suppose to > come on, but it keeps coming on. bit1 is connected to a led. I just > cant seem to figure out what is going on. I think it may have > something to do with the bsf or bcf as when i try to just output a > simple decimal value to porta, it comes out as it should and bit 1 is > right. It would be much appreciated if anyone has any ideas that may > help me. Thanks, Charlene
From page 101 of the datasheet (rev DS40300C):
"When an interrupt is responded to, the GIE is cleared to disable any further interrupt". Therefore, when you have finished servicing your interrupt, you must set the GIE bit again. This may be the reason you only see the interrupt serviced once.
|file: /Techref/member/CE-student-586/index.htm, 2KB, , updated: 2003/10/6 12:49, local time: 2018/5/20 12:28,
|©2018 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions?|
<A HREF="http://www.sxlist.com/techref/member/CE-student-586/index.htm"> Member Homepage for CE-student-586</A>
|Did you find what you needed?|