网站注册页面怎么做,长沙做网站zwnet,深圳好的网站制作公司,电影片头在线制作网站5.5.1整个流程分析
整个串口通信相关程序包含2部分#xff1a;uart_init负责初始化串口#xff0c;uart_putc负责发送一个字节
5.5.2串口初始化关键步骤
#xff08;1#xff09;初始化串口的Tx和Rx引脚所对应的GPIO(查原理图可知Tx和Rx分别对应GPA0_1和GPA0_0)
#…
5.5.1整个流程分析
整个串口通信相关程序包含2部分uart_init负责初始化串口uart_putc负责发送一个字节
5.5.2串口初始化关键步骤
1初始化串口的Tx和Rx引脚所对应的GPIO(查原理图可知Tx和Rx分别对应GPA0_1和GPA0_0)
2GPA0CON0xE0200000bit[3:0] 0b0010 bit[7:4] 0b0010
3初始化这几个关键寄存器UCON0 ULCONO UMCON0 UFCON0 UBRDIV0 UDIVSLOT0
5.5.3主要的几个寄存器
1ULCON0 0x3 //0校验位、8数据位、1停止位
2UCON 0x5 //发送和接收都是polling mode
3UMCON0 0x0 //禁止modem、afc
4UFCON0 0x0 //禁止FIFO模式
5UBRDIV0和UDIVSLOT0和波特率有关要根据公式去算
嵌入式物联网的学习之路非常漫长不少人因为学习路线不对或者学习内容不够专业而错失高薪offer。不过别担心我为大家整理了一份150多G的学习资源基本上涵盖了嵌入式物联网学习的所有内容。点击这里扫码进群领资料0元领取学习资源让你的学习之路更加顺畅记得点赞、关注、收藏、转发哦 5.5.4在C源文件中定义访问寄存器的宏
定义好了访问寄存器的宏之后将来写代码时直接使用即可。
5.5.5串口Tx、Rx对应的GPIO的初始化
给GPA0CON的相应bit位赋值为相应值用C语言位操作来完成。
5.5.6 UCON、ULCON、UMCON、UFCON等主要控制寄存器赋值
5.5.7波特率的计算和设置
1第一步用PCLK_PSYS和目标波特率去计算DIV_VAL
DIV_VAL (PCLK / (bps x 16)) - 1
2第二步UBRDIV0寄存器中写入DIV_VAL的整数部分
3第三步用小数部分*16得到1的个数查表得UBDIVSLOT0寄存器的设置值
5.5.8串口发送和接收函数的编写
写发送函数主要发送前要用while循环等待发送缓冲区为空才能发送。
5.5.9综合调试注意Makefile的修改