完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
使用的是MPC5602B 100脚芯片,UART2总是卡在while(LINFLEX_2.UARTSR.B.DTF == 0); 过不去,看了一下LINFLEX_2.LINCR2.B.IOBE为1,请教是什么原因?下面是初始化和UART2发送的代码:
/************************************************************/ /* 初始化SIU */ /************************************************************/ void init_SIU(void) { SIU.PCR[40].R = 0x0600; // 将PC[8]设置为LINFlex_2.TxDA SIU.PCR[41].R = 0x0100; // 将PC[9]设置为LINFlex_2.RxDA } /************************************************************/ /* 初始化uart2 */ /************************************************************/ void LINFlex2_init(void) { //配置LINFlex LINFLEX_2.LINCR1.B.INIT = ENABLE; // 请求初始化 LINFLEX_2.LINCR1.B.SLEEP = DISABLE; // 禁止睡眠模式 LINFLEX_2.LINCR1.B.BF = DISABLE; // 如果ID不匹配不产生中断 LINFLEX_2.UARTCR.B.UART = 1; // 进入UART模式 //LINFLEX_2.UARTCR.B.RXEN = ENABLE; // 允许接收 LINFLEX_2.UARTCR.B.TXEN = ENABLE; // 允许发送 LINFLEX_2.UARTCR.B.WL = 1; // 8位数据位 //LINFLEX_2.UARTCR.B.OP = 1; // 偶校验 LINFLEX_2.UARTCR.B.PCE = DISABLE; // 禁止奇偶校验 LINFLEX_2.UARTCR.B.TDFL = 0; // 发送缓冲区为1个字节 LINFLEX_2.UARTCR.B.RDFL = 0; // 接收缓冲区为1个字节 //设置波特率为9600 LINFLEX_2.LINIBRR.B.DIV_M = 416; // Baud Rate = 9600, In Case fipg_clock_lin = 64 MHz LINFLEX_2.LINFBRR.B.DIV_F = 11; // Baud Rate = 9600, In Case fipg_clock_lin = 64 MHz //配置中断,使能中断功能 //LINFLEX_2.LINIER.B.DRIE = ENABLE; // 数据接收完成中断 //配置中断,禁止中断功能 LINFLEX_2.UARTSR.B.DRF = 1; // 清除接收完成标志 LINFLEX_2.UARTSR.B.DTF = 1; // 清除发送完成标志 //INTC.PSR[119].R = 0x01; //设置UART2的中断优先级为1 LINFLEX_2.LINCR1.B.INIT = DISABLE; // 变为正常模式 } /************************************************************/ /* UART2发送一字节 */ /************************************************************/ void UART2_TX(unsigned char data) { LINFLEX_2.BDRL.B.DATA0 = data; // 写入需发送的数据 //while(LINFLEX_2.LINCR2.B.IOBE==1); while(LINFLEX_2.UARTSR.B.DTF == 0); // 等待发送完成 LINFLEX_2.UARTSR.B.DTF = 1; // 清除发送完成标志位 } |
|
相关推荐
1个回答
|
|
搞定了,系统初始化里面ME.PCTL[48].R = 0x01;
要改成ME.PCTL[50].R = 0x01; 原来ME.PCTL[50].R = 0x01;是参考LIN0的代码,忘记改了 |
|
|
|
只有小组成员才能发言,加入小组>>
1932个成员聚集在这个小组
加入小组我的项目我做主,使用GN+Ninja来完成构建系统(VSCode开发RT106X)
36414 浏览 0 评论
NXP IMX8应用处理器快速入门必备:技巧、使用、设计指南
4796 浏览 1 评论
6100 浏览 1 评论
6807 浏览 0 评论
NXP i.MX6UL开发板(linux系统烧录+规格+硬件+模块移植)使用手册
4244 浏览 0 评论
641浏览 2评论
求助,S32G上Core M启动后如何让Core A在Flash指定位置加载uboot?
638浏览 2评论
ESP32-WROVER-IE + LAN8720以太网,GPIO0电压只有1.6v,无法正常进入spi flash boot模式如何解决?
639浏览 2评论
求分享适用于PN7160 Android的NFC工厂测试应用程序
725浏览 2评论
835浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 10:51 , Processed in 1.135383 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号