最近在做一个项目用到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例程进行修改。