完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
程序代码:
#include #define Fosc 11059200 #define Fcclk Fosc*5 #define Fpclk Fcclk/4 #define UART_BPS 115200 /* 定义通讯波特率 */ typedef unsigned char u8; typedef unsigned short u16; void UART0_Ini(void) { u16 Fdiv; PINSEL0=(PINSEL0 & (~0x0F))|0x5;//设置I/O连接到UART0,设置引脚P0.0,P0.1分别为TxD和RxD U0LCR = 0x83; // DLAB = 1 ,可设置波特率 线控制寄存器 Fdiv = (Fpclk / 16) / UART_BPS; // 设置波特率 波特率的除数计算如下:UxDLM,UxDLL=Fpclk/16/baud(baud为所需要的波特率) //U0DLM,U0DLL一起构成一个16位除数,用于产生波特率 U0DLM = Fdiv / 256; // 除数锁存LSB寄存器 U0DLL = Fdiv % 256; // 除数锁存MSB寄存器 U0LCR = 0x03; } void UART0_SendByte(u8 data) { U0THR = data; // 发送数据 发送器保持寄存器 while( (U0LSR&0x40)==0 ); // 等待数据发送完毕 U0LSR线状态寄存器 } u8 UART0_RcvByte(void) { u8 rcv_data; while((U0LSR&0x01) == 0); rcv_data = U0RBR; //接收器缓存寄存器 return(rcv_data); } void delay(int dtime) { int i,j; for(i=0;i } int main (void) { int i=0; u8 code1[11]={0x11,0x22,0x33,0x44,0x55,0x66,0x77,0x88,0x99,0x00,0xff}; UART0_Ini(); //初始化串口 for(i=0;i<10;i++) { UART0_SendByte(code1[i]); delay(500); } } 运行四次的串口助手输出的数据: 00 11 22 33 44 D5 66 77 88 99 00 11 22 33 44 55 66 77 88 99 00 11 22 33 44 55 66 77 88 99 00 91 22 33 44 D5 66 77 88 99 |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
1912个成员聚集在这个小组
加入小组我的项目我做主,使用GN+Ninja来完成构建系统(VSCode开发RT106X)
36362 浏览 0 评论
NXP IMX8应用处理器快速入门必备:技巧、使用、设计指南
4400 浏览 0 评论
6055 浏览 1 评论
6765 浏览 0 评论
NXP i.MX6UL开发板(linux系统烧录+规格+硬件+模块移植)使用手册
4217 浏览 0 评论
620浏览 2评论
求助,S32G上Core M启动后如何让Core A在Flash指定位置加载uboot?
618浏览 2评论
ESP32-WROVER-IE + LAN8720以太网,GPIO0电压只有1.6v,无法正常进入spi flash boot模式如何解决?
609浏览 2评论
求分享适用于PN7160 Android的NFC工厂测试应用程序
695浏览 2评论
799浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 07:13 , Processed in 1.079501 second(s), Total 65, Slave 50 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号