历史上的今天
今天是:2025年07月27日(星期日)
2019年07月27日 | STM32 USART3可以接收无法发送问题(Tx一直为高电平)
2019-07-27 来源:eefocus
首先这个问题耗费了我比较多的时间来进行调试,比较郁闷;
1. 同时使用相同的函数进行了USART2和USART3的初始化配置, USART2工作正常, 中断服务程序的结构也是相同的, 收发都是正常的,没有发问题;
2. 使用USART3调试LCD时, 发现无法进行通信, 表现是Rx可以正常进行接收, Tx发送数据时一直为高电平, 使用示波器捕获不到任何波形;
3. 关于USART3的寄存器, GPIO的寄存器, USART3/GPIO/AFIO等时钟已经进行了配置, NVIC也进行了配置; 查看与USART2的差异,发现完全相同,没有差别, 但是无法发送.
4. 单独写了一个文件进行串口测试, 查询发送OK!
5. 将改单独文件内容复制到工程中(初始化完成后面), 相当于将初始化中关于USART部分进行了重新配置, 却发现不能进行发送了;
6. 锁定问题, 在硬件的初始化代码中有错误. 将初始化中各函数逐个注释以后, 发现问题在时钟配置函数中.
7. 最终锁定在
RCC_APB1PeriphClockCmd( RCC_APB1Periph_USART2 | RCC_APB1Periph_USART3 | RCC_APB1Periph_UART4
| RCC_APB1Periph_UART5 | RCC_APB1Periph_TIM3 | RCC_APB1Periph_TIM6
| RCC_APB1Periph_TIM7 | RCC_APB1Periph_I2C1 | RCC_APB1Periph_I2C2, ENABLE);
中,是的,问题就在这, RCC_APB1Periph_USART3 和 RCC_APB1Periph_I2C2! 我查阅了一下Pinouts and pin descriptions,
发现I2C2和USART3共用一组引脚, 而我为图省事, 把这些个时钟都打开了...
这就导致了USART3的Tx引脚一直为高电平, 而正常无数据发送时, USART的Tx就是一直为高电平的,
所以无论我怎么发数据, 都检测不到波形了...下课!!!
史海拾趣
|
CodeWarrior for Microcontrollers v10.0 Beta同时支持HCS08, RS08, CodeFire V1-V4 http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=CW-MCU10&tid=vancwmcu10 http://www.freescale.com/webapp/sps/site/overview.jsp?code=C ...… 查看全部问答> |
|
如何在WinCE下用EVC连接并操作PC上的SQL Server数据库 很急的,要在PocketPC上开发一个程序,能够连接服务器上的SQLServer 数据库,并获取其中的记录数据进行显示,我查了一下资料,有的说在CE上不能直接连接PC上的数据库,有的说在CE上用SQL CE,然后与PC上的SQL连接,还有的说做个web service,那么究 ...… 查看全部问答> |
|
本文主要包含如下内容:1. Debug 和 Release 编译方式的本质区别2. 哪些情况下 Release 版会出错3. 怎样“调试” Release 版的程序-------------------------------------- 关于Debug和Release ...… 查看全部问答> |
|
1。 硬件特性研究: GPIO模块由 7个物理GPIO 模块组成,每个对应一个独立的GPIO端口(端口A, 端口B, 端口C, 端口D, 端口E, 端口F, 和端口G, )。GPIO模块遵循FiRM规范,并且支持5-42 个可编程的输入/输出管脚,具体取决于正在使用的外设。 ...… 查看全部问答> |
|
derive_pll_clocksset sclk SYS_PLL|altpll_component|pll|clk[0]set pclk SYS_PLL|altpll_component|pll|clk[1]set sd_clk SYS_PLL|altpll_component|pll|clk[2]我的synplify工程中的sdc文件中约束altera pll的约束synplify pro报错:invalid colu ...… 查看全部问答> |
|
在用fpga产生正弦波,调用ISE 的ROM 内核,但是在仿真时,结果输出均为高阻态。ROM的数据由MATLAB产生,请问是为什么?? module sincose(data,we,clk,ce,reset,sine ); input we;//enabl ...… 查看全部问答> |
|
CortexA8+DSP BeagleBoard 板子+扩展板 去年十一月份chipsee购买,基本没用过,九成新,运行Android完美,wifi链接完美。 原价2700,出收价:2300,可淘宝链接: http://ershou.taobao.com/item.htm?id=14036298782 有诚意的加qq:307799870 板子详 ...… 查看全部问答> |




