stm32f103c8t6 usart1不工作 5

初学stm32f103,LED闪烁已成功,在此基础上,在LED每次闪烁后,通过USART1向外发送一个数字,从0开始累加。发现问题如下:1、LED闪烁正常。2、单步调试发... 初学stm32f103,LED闪烁已成功,在此基础上,在LED每次闪烁后,通过USART1向外发送一个数字,从0开始累加。发现问题如下:1、LED闪烁正常。2、单步调试发现LED闪烁后发送数据调用正常。3、通过逻辑分析仪发现USART1的PA9无数据输出,始终都是高电平。请问到底我的程序什么地方错了呢? 展开
 我来答
老子很凉
2018-08-22 · TA获得超过635个赞
知道小有建树答主
回答量:360
采纳率:79%
帮助的人:57万
展开全部
  1. 首先GPIO配置中因为你是使用了USART复用功能所以需要打开以下时钟: RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);

  2. 一般我的STM32串口发送多配置为DMA模式,读取使用中断模式。串口确实可以不使用中断模式(采用轮询但是很影响芯片效率,除非你得单片机就做一个串口读写)。而你的程序配置了串口读中断使能但是没有配置中断NVIC相关。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d7f7f4ab3
2018-08-18 · 超过48用户采纳过TA的回答
知道小有建树答主
回答量:176
采纳率:66%
帮助的人:31.5万
展开全部
应该是程序里没有配置好,串口没有正常工作,要么发送的数据没有发送成功。硬件连接有问题仿真也能看到信号
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2018-08-16
展开全部
你是不是少了一个NVIC初始化?还有初始化后是不是清下标记比较好
//Usart1 NVIC ÅäÖÃ
NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 3 ;//ÇÀÕ¼ÓÅÏȼ¶3
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; //×ÓÓÅÏȼ¶3
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQͨµÀʹÄÜ
NVIC_Init(&NVIC_InitStructure);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式