ch340g串口通信_FIFO
项目概述
DSC28034PNT是一款功能强大的数字信号控制器,而CH340G是一种常用的USB转串口芯片。在这个项目中,我们将探索如何使用DSC28034PNT和CH340G实现串口通信。串口通信是一种常见的数据传输方式,可用于在不同设备之间传输数据。
本项目旨在通过串口通信,实现DSC28034PNT与其他设备之间的数据交互。我们将使用CH340G作为USB转串口芯片,将DSC28034PNT与计算机或其他外部设备连接。通过串口通信,DSC28034PNT可以接收来自计算机或其他外部设备的命令和数据,并将其用于控制和操作。
软件调试
在软件调试阶段,我们将关注串口通信的数据传输和处理。首先,我们需要在DSC28034PNT上设置串口通信的相关参数,如波特率、数据位、停止位等。接下来,我们将编写适当的代码来初始化串口通信,并实现数据的发送和接收功能。我们将使用适当的调试工具来检查数据传输的正确性,并解决可能遇到的问题。
硬件接入
在硬件接入阶段,我们需要连接DSC28034PNT和CH340G,以便实现串口通信。首先,我们将连接CH340G的TX和RX引脚与DSC28034PNT的相应引脚,以实现数据的发送和接收。然后,我们将连接CH340G的USB接口与计算机或其他外部设备,以建立数据传输通道。
为确保稳定和可靠的硬件接入,我们需要注意正确连接引脚和检查电源供应,以避免电气问题和传输错误。
核心代码
/*主程序入口*/
int main(void)
{
uint8 receiveData[4],i; //只接受4个字符,多余的补发
/*初始化系统控制*/
InitSysCtrl();
/*初始化内存控制寄存器,使能内存流水线模式*/
InitFlash();
/*初始化串口通信的GPIO口*/
/*GPIO28: SCIRXDA*/
/*GPIO29: SCITXDA*/
InitSciGpio();
/*SCI寄存器配置*/
Scia_Config(9600);
/*通过SCI发送字符串*/
Scia_Print("----------- serial fifo test ------------\r\n");
Scia_Print("Baud Rate: 9600\r\n");
Scia_Print("Data Bits: 8\r\n");
Scia_Print("Parity: none\r\n");
Scia_Print("Stop Bits: 1\r\n");
Scia_Print("\r\n");
Scia_Print("I love H28034\r\n");
for (;;)
{
/*判断SCI是否接收到数据*/
if(SciaRegs.SCIFFRX.bit.RXFFST == 4)
{
for(i = 0; i < 4; i++)
{
receiveData[i] = SciaRegs.SCIRXBUF.bit.RXDT;
}
Scia_Print((char*)receiveData);
Scia_Print("\r\n");
}
}
return 0;
}
遇到问题
- 再一次烧录,需要全部拆掉保持关闭电源,然后重新上电
- 烧录完后没有自动运行主程序,需要手动按reset或者掉电才可以运行主程序
上述两个问题,怎么解决呢?特别是第一个问题,不要总是频繁掉电上电,损伤设备寿命。
总结
通过上述项目概述、软件调试和硬件接入,我们将能够成功实现DSC28034PNT和CH340G之间的串口通信。这将为我们提供一个强大的数据交互平台,为各种应用提供了广泛的可能性,如控制系统、数据采集和传感器网络等。我们将不断改进和优化这个项目,以满足不断增长的需求和应用场景。