nl900324 发表于 2013-12-31 12:23

F28335 SCI通信问题

当置位SCICTL1寄存器中的SWRESET时,会将SCICTL2中的TXRDY位置位。
而TXRDY的说明文档中提到,TXRDY置位的时候,若中断使能TXINTENA=1,将会引发一个中断请求,我的SCIA初始化程序如下
void scia_init()
{
   SciaRegs.SCICCR.all =0x0007;   // 1 stop bit,No loopback
                                  // No parity,8 char bits,
                                  // async mode, idle-line protocol
   SciaRegs.SCIHBAUD = 1;

   SciaRegs.SCILBAUD = 231;
   
   SciaRegs.SCICTL1.all =0x0003;// enable TX, RX, internal SCICLK,
                                  // Disable RX ERR, SLEEP, TXWAKE
   //外设级中断使能
   SciaRegs.SCICTL2.bit.TXINTENA =1;   
   SciaRegs.SCICTL2.bit.RXBKINTENA =1;
   
   // Enable interrupts required for this example
   PieCtrlRegs.PIECTRL.bit.ENPIE = 1;   // Enable the PIE block
   PieCtrlRegs.PIEIER9.bit.INTx1=1;   // PIE Group 9, int1
   PieCtrlRegs.PIEIER9.bit.INTx2=1;   // PIE Group 9, INT2
   IER |= M_INT9;        // Enable CPU INT
   EINT;
   SciaRegs.SCICTL1.bit.SWRESET=1;    // Relinquish SCI from Reset

}

但是我跟踪代码当 SciaRegs.SCICTL1.bit.SWRESET=1;执行后,并没有引发中断,这是为什么?
坐等大神!!

zhangmangui 发表于 2014-1-1 12:33

单步调试和发生中断不知能否立即跳转
你全速运行然后看看中断能不能进去

nl900324 发表于 2014-1-2 20:03

我去,真是 单步运行 和全速运行+断点 发现运行过程不一样。。。这是为什么 我单步运行居然还会跳转到从没调用过的全局函数中。。。。

zhangmangui 发表于 2014-1-2 21:04

nl900324 发表于 2014-1-2 20:03 static/image/common/back.gif
我去,真是 单步运行 和全速运行+断点 发现运行过程不一样。。。这是为什么 我单步运行居然还会跳转到从没 ...

单步调试像中断这样的或许因为时间差等原因不能进去
但是不会出现像你说的跳转到条件不满足的函数中

nl900324 发表于 2014-1-2 23:23

十分感谢

nl900324 发表于 2014-1-2 23:25

怎么没法结贴啊。。。分数未分配完,或分配存在错误。。

asbsp23 发表于 2014-1-3 08:53

重新登录几次就好了,网站的问题。有时候是挺烦的。
页: [1]
查看完整版本: F28335 SCI通信问题