ST NXP LM3S的UART比较
最近两天看了一下STM32F207和LPC1768的DS,因为以前用过LM3S的UART,因此特意比较了一下三家的UART,发现很有趣:1、LM3S和NXP的UART挂在APB上可以使用主时钟,LPC1768可以到100M,LM3S可以50M/80M,而ST虽然可以到120M主频,但UART挂的APB时钟只能是60M/30M。
2、LM3S和NXP的UART只能16时钟采样,而ST有16/8时钟采样。
3、LM3S和NXP的UART有FIFO和DMA,而ST的居然没有FIFO,高速通讯必须用DMA。
4、中断:LM3S有发送接收FIFO触发中断,而NXP只有接收FIFO触发中断,发送是FIFO空中断;ST的只有单字符发送接收中断。
5、RS485方向切换:LM3S只有发送完成标志(最后一个位被移出),程序要不断查询才能切换;NXP除了有发送完成标志外其UART1的RTS/DTR可以作为485的方向控制,实现自动切换,程序不需要管。ST有发送完成中断,在中
断里做就可以。
6、ST有线上空闲中断,发送前会首先发送一个字节长度的空闲帧,有点意思。
7、ST有单线半双工传输模式,可以省掉一个RX。
一个UART的IP,三家实现都不一样,呵呵。
楼主很牛呀对UART如数家珍 netio 发表于 2012-8-26 20:26 static/image/common/back.gif
ST 做485方向切换,发送完是不知道的
知道,用DMA就有发送完成中断,很好用啊。 ST线上空闲是指在接收的时候,启动,如果接下来没有收到东西,就会进入空闲中断,其实就是超时中断。 linliangqiu 发表于 2012-8-27 00:39 static/image/common/back.gif
知道,用DMA就有发送完成中断,很好用啊。
ST的Transmission Complete(TC)中断必须打开DMA才能触发吗? linliangqiu 发表于 2012-8-27 00:41 static/image/common/back.gif
ST线上空闲是指在接收的时候,启动,如果接下来没有收到东西,就会进入空闲中断,其实就是超时中断。 ...
是的,忘记比较接收超时中断了:
LM3S和NXP都有接收超时中断,而ST没有,不过IDLE LINE 中断应该是可以作为接收超时用的。手册原文:Note: The IDLE bit will not be set again until the RXNE bit has been set itself (i.e. a new idle
line occurs).也就是只有当接收到数据后再出现空闲才会置位IDLE。 BeichenPeng 发表于 2012-8-27 08:50 static/image/common/back.gif
是的,忘记比较接收超时中断了:
LM3S和NXP都有接收超时中断,而ST没有,不过IDLE LINE 中断应该是可以作 ...
异曲同工! BeichenPeng 发表于 2012-8-27 08:44 static/image/common/back.gif
ST的Transmission Complete(TC)中断必须打开DMA才能触发吗?
没有这个说法 学习了,mark 牛人,学习学习
ST的居然没有FIFO,高速通讯必须用DMA。刚接触的时候是很诧异,ST的设计是够另类的。
LM3S也是有16/8时钟采样。
另外LM3S,NXP都不支持同步串口模式。 很好的!学习了 tgyd 发表于 2012-9-26 12:40 static/image/common/back.gif
ST的居然没有FIFO,高速通讯必须用DMA。刚接触的时候是很诧异,ST的设计是够另类的。
LM3S也是有16/8时钟采 ...
虽然没有,但是是DMA更强大。 好好!!!!!!!!!!!!!!!!!!!!!!! 好奥!!!!!!!!!!!!!!!! 好奥!!!!!!!!!!!!!!!! atmel的比较有意思,楼主可以去看看
页:
[1]