楼主的问题,应该大多数单片机都可以做到吧。
比如用英飞凌的Cortex M0芯片(XMC1100),里头有个USIC模块,这个模块可以按照下面方式来实现。
比如输入0吗,就是0.35us的高+0.8us的低,作为例子,先简化一下吧,那么就是0.4us的高+ 0.8us的低。把输出数据设定为12位,每位宽度0.1us,那么只要直接输出111100000000,就是你要的0码了。 1码同理。
同时这个XMC1100的USIC还带有64级FIFO,那么你要输出24位,只要把24个码一起写入FIFO中,就可以实现连续输出了。要输出更多位那么加入FIFO中断,当FIFO中数据快清空了,再把它填满。
是不是很清晰,简单?其他单片机怎么做呢?
|