#include "config.h" void main(void) { uint i=0; Init_led(); Init_uart(32, 9600); uart_chl(1); //USB-TTL while(1) { uart_send_string(" www.socmcu.com sc95f8617 uart test \r\n"); LED0=0; LED1=1; LED2=0; LED3=1; for(i=0;i<50000;i++); for(i=0;i<50000;i++); LED0=1; LED1=0; LED2=1; LED3=0; for(i=0;i<50000;i++); for(i=0;i<50000;i++); } } 2.2、uart.c 复制#include "config.h" bit UartSendFlag = 0; //·¢ËÍÖжϱê־λ bit UartReceiveFlag = 0; //½ÓÊÕÖжϱê־λ void uart_chl(uchar ul) { switch (ul) { case 0: //rs485 UART_CHA=0; UART_CHB=0; break; case 1: //usb-ttl UART_CHA=1; UART_CHB=0; break; default: break; } } void Init_uart(uint Freq, unsigned long int baud) { P2CON &= ~0x03; P2PH |= 0x03; P5CON &= ~0x14 ; //0001 0100 P5CON |= 0x14 ; P5PH |= 0x14; SCON |= 0X50; TMCON |= 0X02; TH1 = (Freq*1000000/baud)>>8; TL1 = Freq*1000000/baud; TR1 = 0; ET1 = 0; //EUART = 1; EA = 1; } void uart_send_char(uchar ch) { SBUF=ch; while(TI==0); TI=0; } void uart_send_string(uchar *str) { while(*str ) { uart_send_char(*str ++); } } ////uartint //void UartInt(void) interrupt 4 //{ // if(TI) // { // TI = 0; // UartSendFlag = 1; // } // if(RI) // { // RI = 0; // UartReceiveFlag = 1; // } //} 1.3、uart.h 复制#ifndef __UART_H__ #define __UART_H__ sbit UART_CHA = P5^2; sbit UART_CHB = P5^4; void Init_uart(uint Freq, unsigned long int baud); void uart_chl(uchar ul); void uart_send_char(uchar ch); void uart_send_string(uchar *str); #endif 三、执行结果 3.1、串口输出数据 3.2、运行视频 DL6指示灯闪烁,表示串口有数据输出
#include "config.h" bit UartSendFlag = 0; //·¢ËÍÖжϱê־λ bit UartReceiveFlag = 0; //½ÓÊÕÖжϱê־λ void uart_chl(uchar ul) { switch (ul) { case 0: //rs485 UART_CHA=0; UART_CHB=0; break; case 1: //usb-ttl UART_CHA=1; UART_CHB=0; break; default: break; } } void Init_uart(uint Freq, unsigned long int baud) { P2CON &= ~0x03; P2PH |= 0x03; P5CON &= ~0x14 ; //0001 0100 P5CON |= 0x14 ; P5PH |= 0x14; SCON |= 0X50; TMCON |= 0X02; TH1 = (Freq*1000000/baud)>>8; TL1 = Freq*1000000/baud; TR1 = 0; ET1 = 0; //EUART = 1; EA = 1; } void uart_send_char(uchar ch) { SBUF=ch; while(TI==0); TI=0; } void uart_send_string(uchar *str) { while(*str ) { uart_send_char(*str ++); } } ////uartint //void UartInt(void) interrupt 4 //{ // if(TI) // { // TI = 0; // UartSendFlag = 1; // } // if(RI) // { // RI = 0; // UartReceiveFlag = 1; // } //} 1.3、uart.h 复制#ifndef __UART_H__ #define __UART_H__ sbit UART_CHA = P5^2; sbit UART_CHB = P5^4; void Init_uart(uint Freq, unsigned long int baud); void uart_chl(uchar ul); void uart_send_char(uchar ch); void uart_send_string(uchar *str); #endif 三、执行结果 3.1、串口输出数据 3.2、运行视频 DL6指示灯闪烁,表示串口有数据输出
#ifndef __UART_H__ #define __UART_H__ sbit UART_CHA = P5^2; sbit UART_CHB = P5^4; void Init_uart(uint Freq, unsigned long int baud); void uart_chl(uchar ul); void uart_send_char(uchar ch); void uart_send_string(uchar *str); #endif 三、执行结果 3.1、串口输出数据 3.2、运行视频 DL6指示灯闪烁,表示串口有数据输出
收藏0 举报
本版积分规则 发表回复 回帖并转播 回帖后跳转到最后一页
人才类勋章
132
701
7
扫码关注 21ic 官方微信
扫码关注嵌入式微处理器
扫码关注电源系统设计
扫码关注21ic项目外包
扫码浏览21ic手机版
本站介绍 | 申请友情链接 | 欢迎投稿 | 隐私声明 | 广告业务 | 网站地图 | 联系我们 | 诚聘英才
京公网安备 11010802024343号