本帖最后由 jennyzhaojie 于 2017-10-15 11:06 编辑
在CH554开发板的例程中,虽然没有为串行通讯单独设置一个例程,但却可以从中学到它的使用方法并能快速地实现波特率的调整、字节及字符串的发送等。
由于后续应用的需要,要求波特率是9600bps。这对于其它的单片机来讲恐怕非要自己进行一番计算不可,然而在这里却没有这么复杂,你只需在此处轻松应该即可,其内容如下,是不是真的很简单呀!
#define FREQ_SYS 12000000 //系统主频12MHz
#ifndef UART0_BUAD
#define UART0_BUAD 9600 //57600
#define UART1_BUAD 9600 //57600
#endif
此外,要方式下图所示的字符串或直接数据也算不上什么难事,只需借助printf语句和CH554UART0RcvByte( )函数即可轻松搞定,其演示效果的主函数程序如下:
- void main( )
- {
- UINT8 J= 0;
- CfgFsys( );
- mDelaymS(20);
- mInitSTDIO( );
- printf("start ...\n"); //发送字符串
- #if GPIO_INTERRUPT
- GPIOInterruptCfg();
- EA = 1;
- printf("Run");
- while(1){
- printf(".");
- mDelaymS(50);
- CH554UART0SendByte('A'); //发送字节数据
- CH554UART0SendByte('B');
- CH554UART0SendByte('C');
- CH554UART0SendByte(0x0d);
- CH554UART0SendByte(0x0a);
- J =CH554UART0RcvByte( ); //接收字节数据
- if(J) CH554UART0SendByte('V');
- }
- #endif
- }
复制代码
验证效果图