|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
我的cnt是一个开在main外的全局变量 就是想接受三次发送一次
0 l5 |& l$ Z2 U在中断中写可以实现 但是把那部分放到main里面就一直不发送 很奇怪。
+ l; z1 A) C1 I: f, d: G就是把while1里面内容注释 中断里面不注释可以
4 a ^1 J+ j5 H$ Y; p9 uwhile1里面不注释 中断里面注释就不行??? 4 B% ?- Z" T& k3 U
- Q9 Y0 ?8 ?. Q1 u: y6 |
我想既然在中断里面可以实现我的功能 那么说明问题是cnt上
: y( w! M* Z! K+ y' U* }+ ~9 \2 |: Z" r可是 就感觉cnt没有变化一样..不太明白 望大家赐教..
, p- ~& s: G& M' k. y% [6 u8 gwhile(1)* A0 d3 e; I5 Y
{
- |3 X- M7 F6 w6 d IF(cnt>=3)
! C: N1 g8 k# S5 C- l4 @1 t {4 K6 O# `. |. V2 M$ R5 k
cnt=0;+ `$ Z6 N2 j9 ]8 o9 q3 {
Send_Byte('c');
( K2 D5 d9 Z$ X) R1 d5 C0 U: [" d7 C }2 r+ N a; T4 I. m V7 S
}
0 f8 x) ^! v& M, U
; y3 i: C4 I, j5 U#pragma vector = USCIAB0RX_VECTOR
! Y5 ]; }0 |) ?% e7 p# Y__interrupt void ReceiveInterrupt(void)( K+ m7 d+ t' n& c
{/ |% r/ v0 r( N/ m: n: Z
P1OUT ^= BIT6; // light up P1.6 LED on RX ' F3 q8 L5 v C4 C' V
cnt++;
2 O! I3 s+ c* @7 y, e, ?# b# G3 N' f t IFG2 &=~UCA0RXIFG;' l s# @+ ?& P: d; s0 g
/*if(cnt>=3)/ l% l9 V: a+ n
{
- n: F3 G6 F/ Q0 O9 ~ cnt=0;4 d9 D, G+ u4 z$ [; `9 R1 L/ x
Send_Byte('c');) G/ X) M7 L! D/ r
}*/3 W: ^& ]$ J! M3 G
}
. O# H Y/ d2 d9 {: G |
|