-
很专业,楼主辛苦了,
-
再顶一贴
-
先存了再说
-
楼主辛苦了1
-
强大,谢谢楼主!
-
打心眼里佩服,顶一下,分享啦……
-
顶一个!
-
这个就是好,汇总的
-
原来是这样
-
还没有试,不过看那个图就比较酷
-
我装了金山网盾
-
uart.c中最后的void UARTSend(uint8_t *BufferPtr, uint32_t Length)用来定义发送函数,结合入口函数中的主循环代码 while (1)
{ /* Loop forever */
if ( UARTCount != 0 )
{
LPC_UART->IER = IER_THRE | IER_RLS; /* Disable RBR */
UARTSend( (uint8_t *)UARTBuffer, UARTCount );
UARTCount = 0;
LPC_UART->IER = IER_THRE | IER_RLS | IER_RBR; /* Re-enable RBR */
}
}
可知主函数发现 UARTCount(串口中断触发UARTCount累加)非零时启动发送函数,发送函数先判断有无接收中断(#if !TX_INTERRUPT),然后通过寄存器LSR和THRE判断fifo是否可用,把UARTBuffer中的数据送出。这里的问题在于TX_INTERRUPT在uart.h中被宏定义为0,但在程序中应该有自己变化的功能啊?否则#if !TX_INTERRUPT后面的两个else就没有用了。
调试中我曾尝试修改UARTSend中的*BufferPtr,和主循环发送程式中的(uint8_t *)UARTBuffer,想让它向上位机发送自定义的其它值,但没有用,无论怎么改1343都只在上位机下传数据时回发一个相同的值,估计是因为执行发送函数时也触发了串口中断。
-
kao,原来串口中断响应是在UART_IRQhandler里面的,刚发现。
-
弱弱的问一下,printf-stdarg.c?在哪里找的这个文件的?
-
的确很牛,顶一个
-
楼主太牛,必须每天都顶!
-
LZ,你是神吧?
-
如果是我,我会先在excel里把bin转成decimal,然后用load("/path/*.txt")把数据载入数组变量,然后再用plot画出来。当然也可以用matlab自带的bin-decimal函数转化,但是我以前没有用过。
-
下次,没关系,以后我就跟着eeworld.com.cn混了
-
巨牛!