红外通信,UART数据复用,不清楚自己思路对不对,求助TAT
[复制链接]
初学UART,研究了好几天,感觉懂了个大概原理......写了个程序,不知道对不对,求教ing
13年全国电设的题目,红外通信。 发射端:硬件进行音频信号的编码,输入至单片机,但单片机需要将音频信号与采集到的温度信号复用,输出给红外发射管驱动电路。 接收端:红外接收模块接收数据,单片机将音频信号与温度信号区分开,用LCD屏显示温度,音频信号输出值后级解码电路,喇叭播放音乐
思路如下: 发射端单片机,UART接收编好码的音频信号,写入Rx_FIFO(接收缓冲区,大小设为8)。再用UART发送,Tx_FIFO发送缓冲区大小设为10,Tx_FIFO[0]写入温度信号,后Tx_FIFO[1]~Tx_FIFO[8]写入音频信号,最后一位Tx_FIFO[10]定义0xFF,做标志位。
接收端单片机,UART接收信号,写入Rx_FIFO(接收缓存区,大小设为10),Rx_FIFO[0]为温度信号,Rx_FIFO[1]~Rx_FIFO[8]为音频信号,IO口依次输出八个八位高低电平给后级解码电路。 不确定这样的思路可以吗?我是把接受发送缓存区FIFO大小设为了10,相当于10个一组收发数据,第一位温度,二至八位为音频信号,最后一位为结束标志 音频信号经硬件编码后的高低电平直接输入到单片机里,单片机怎么读到它啊。。。一开始以为这也是个UART通信,现在又觉得不是,因为它只有八位数据,没有起始位,奇偶校验位之类的
然后收发速度频率之类的我都很没有概念,,,不清楚需要设成什么,按照书上的SMCLK为波特率源,波特率设为9600,可以吗?
UART通信中读八位数据,单片机如何分辨连续两位的高(低)电平啊?
问题小多,小女子在这儿叩谢各位大侠了!!
|