完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
目前在使用STM32L053系列MCU,基于HAL库的程序,硬件串口资源有3个,都已经被使用;其中USART2通过Switch芯片来实现printf打印和读取传感器数据;因为USART2串口接收数据长度不定,因此采用中断接收。在测试时发现当串口USART2指向传感器时,发送数据没有问题,中断接收函数没办法进入。将printf定向到其他串口时,USART2就可以正常接收数据。
因此,结论是printf指向哪个串口,该串口就没办法实现中断接收数据。 请问各位大神有碰到相似的问题吗?是如何解决的? |
|
相关推荐
1个回答
|
|
printf指向哪个串口由下面函数设定,本例使用usart2: 添加这个之后使用printf来打印的。 int fputc(int ch,FILE *f) { uint8_t temp[1]={ch}; return HAL_UART_Transmit( huart2,temp,1,3); } 在串口2初始化的时候增加的中断接收 if(HAL_UART_Receive_IT( huart2,(uint8_t*)bRxBuffer,1) != HAL_OK) { //Error_Handler(); printf("errorn"); } 在中断函数里面 void USART2_IRQHandler(void) { //printf("uart2n"); HAL_UART_IRQHandler( huart2); } 实际测试的时候,没有办法进中断函数里面。 备注:同样的中断接收方式同时在Lpuart1上使用,可以正常使用;将putc()函数定向到UART1之后UART2接收中断就可以使用了。 |
|
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
4207 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
3263 浏览 1 评论
2796 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
2227 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
15169 浏览 2 评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
3169浏览 4评论
stm32f4下spi+dma读取数据不对是什么原因导致的?
1942浏览 3评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
2110浏览 3评论
2020浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
2218浏览 3评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-14 08:06 , Processed in 0.607960 second(s), Total 44, Slave 37 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1678