TI中文支持网
TI专业的中文技术问题搜集分享网站

28335串口发送中断问题,求解

最近在做一个项目用到28335,想用串口中断发送方式。本人做了一个自己的发送缓冲,没有用FIFO的方式。想要实现的是所有的字节都在中断中发送,而不是第一个字节一定是在发送函数中发送,剩余字节在中断中发送。

查了28335相关资料,在SCI那个文档中描述道 TXDY在被置1,且TXINTN被置一的时候,则产生发送中断请求。进一步看文档说 SW REST置0能使 TXDY被置1。本人在串口初始化配置好相关中断配置其中TXINTN被置一。于是发送一个字节的函数中先把SW REST置0而后置1,理论上TXDY被置1,但是却没有产生中断!!

而一定要在发送函数中 TXBUFF==Ch 才发生中断!

这是为什么呢?

mangui zhang:

串口发送中断都是你使能发送   发送完成了给你中断   让你进行下一次操作 

最近在做一个项目用到28335,想用串口中断发送方式。本人做了一个自己的发送缓冲,没有用FIFO的方式。想要实现的是所有的字节都在中断中发送,而不是第一个字节一定是在发送函数中发送,剩余字节在中断中发送。

查了28335相关资料,在SCI那个文档中描述道 TXDY在被置1,且TXINTN被置一的时候,则产生发送中断请求。进一步看文档说 SW REST置0能使 TXDY被置1。本人在串口初始化配置好相关中断配置其中TXINTN被置一。于是发送一个字节的函数中先把SW REST置0而后置1,理论上TXDY被置1,但是却没有产生中断!!

而一定要在发送函数中 TXBUFF==Ch 才发生中断!

这是为什么呢?

jianxing ding:

回复 mangui zhang:

谢谢您的回复!因为这个串口程序是之前一直沿用的 一个封装好的,里面只是根据不同的平台换下与硬件有关的寄存器设置。之前的是Cotex 平台是可以的。也就是在发送函数中只是把数据保存的缓冲,然后触发发送中断,在中断中完成所有的数据发送

最近在做一个项目用到28335,想用串口中断发送方式。本人做了一个自己的发送缓冲,没有用FIFO的方式。想要实现的是所有的字节都在中断中发送,而不是第一个字节一定是在发送函数中发送,剩余字节在中断中发送。

查了28335相关资料,在SCI那个文档中描述道 TXDY在被置1,且TXINTN被置一的时候,则产生发送中断请求。进一步看文档说 SW REST置0能使 TXDY被置1。本人在串口初始化配置好相关中断配置其中TXINTN被置一。于是发送一个字节的函数中先把SW REST置0而后置1,理论上TXDY被置1,但是却没有产生中断!!

而一定要在发送函数中 TXBUFF==Ch 才发生中断!

这是为什么呢?

Seven Han:

回复 jianxing ding:

建议您基于controlsuit中sci_echoback例程进行修改。

赞(0)
未经允许不得转载:TI中文支持网 » 28335串口发送中断问题,求解
分享到: 更多 (0)