以前一直用的6713外扩的752B,FIFO有64字节,只用到了接收中断,发送数据直接用FIFO了,没有用过中断。
现在6747只有16字节FIFO,估计以前的办法是无效了,正在研究6747发送中断,高手们多指点啊!
问题一:
发送中断的原理是怎样的?
我的理解是建立一个数据缓存区,向这个缓冲区里面丢要发送的数据,如果FIFO设置成8个,是每发送8个数据就进入中断?中断服务程序就将这个缓冲区里面的数据写到THR吗,这时候写入THR数据的个数有没有限制什么的?
还有初始的发送中断如何产生?比如要发10个字节,初始的发送数据个数是不是就只能写8,当产生了数据发送中断以后再把后面的2个字节发送出去吗?
问题二:(和FIFO无关哈)
开发板上用了I2C0,我看datasheet它的SCK是AUXPLL,那就是输入晶振啊,开发板上是24M,但是I2C程序的配置分频配的是3,也就是说把AUXPLL做了4分频是吧,应该是6M,但是代码后面的解释是12M,不懂了,求高手解释啊!
|