找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2162|回复: 25
收起左侧

[已解决]:(在结尾说明问题大概原因)本来调试好的stm32串口程序不能用了

[复制链接]
ID:876099 发表于 2021-9-16 21:45 | 显示全部楼层 |阅读模式
本帖最后由 1045964948 于 2021-9-17 16:53 编辑

本来程序没问题,调试了也没问题,但是我把板子放书包里吃了个饭回来板子就只能发送数据接收不到电脑上面发送的数据了,我用例程一样的,现在很懵逼,搜了一天不知道什么原因,希望帮忙看看,下面是rct6官方例程,烧录进去也是只能发送不能接收数据,接线肯定没问题,ttl模块也肯定没问题


  1. #include "stdint.h"
  2. #include "led.h"
  3. #include "delay.h"
  4. #include "key.h"
  5. #include "sys.h"
  6. #include "usart.h"

  7. #include "GUI.h"
  8. #include "Lcd_Driver.h"




  9.      uint8_t t;
  10.     uint8_t len;   
  11.     uint16_t times=0;

  12. //STM32开发板
  13. //串口实验  



  14. int main(void)
  15. {        

  16.     delay_init();             //延时函数初始化      
  17.     NVIC_Configuration();      //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
  18.     uart_init(115200);     //串口初始化为9600
  19.      LED_Init();                 //LED端口初始化
  20.     KEY_Init();          //初始化与按键连接的硬件接口
  21.   
  22.   Lcd_Init();     //1.44寸液晶屏--初始化配置
  23.     Lcd_Clear(GRAY0);//清屏
  24.     Gui_DrawFont_GBK16(0,16,RED,GRAY0,"Test serial port ");
  25.   Gui_DrawFont_GBK16(0,48,BLUE,GRAY0,"  嵌入式开发网   ");     
  26.     Gui_DrawFont_GBK16(0,64,BLUE,GRAY0,"xxxxxxxxxxxx ");
  27.      
  28.      printf("\r\n welcome to 北京\r\n");
  29.      while(1)
  30.     {
  31.         if(USART_RX_STA&0x8000)
  32.         {                       
  33.             len=USART_RX_STA&0x3fff;//得到此次接收到的数据长度
  34.             printf("\r\n您发送的消息为:\r\n\r\n");
  35.             for(t=0;t<len;t++)
  36.             {
  37.                 USART_SendData(USART1, USART_RX_BUF[t]);//向串口1发送数据
  38.                 while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//等待发送结束
  39.             }
  40.             printf("\r\n\r\n");//插入换行
  41.             USART_RX_STA=0;
  42.         }else
  43.         {
  44.             times++;
  45.             if(times%5000==0)
  46.             {
  47.                 printf("\r\nSTM32开发板 串口实验\r\n\r\n");
  48.                
  49.             }
  50.             if(times%200==0)printf("请输入数据,以回车键结束\r\n");  
  51.             if(times%30==0)LED=!LED;//闪烁LED,提示系统正在运行.
  52.             delay_ms(10);   
  53.         }
  54.     }     
  55. }
复制代码

就在我刚刚一头雾水随便发送接收的时候,突然接收到一个我发送的数据,然后后面又接收不到了,随后我找到了我同学的ttl模块然后有试了一下,好像是我的st-link模块在做怪,我拔了下载器模块就可以正常发送接收,然后现在问题得以解决,非常感谢大家在百忙之中抽出时间帮助我解决问题,在此谢谢大家了

串口实验.7z (189.49 KB, 下载次数: 7)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:94031 发表于 2021-9-17 07:15 | 显示全部楼层
查波特率 115200,查端口对不对,用字符收发。
回复

使用道具 举报

ID:130230 发表于 2021-9-17 09:02 | 显示全部楼层
多半是虚焊了
回复

使用道具 举报

ID:592807 发表于 2021-9-17 09:04 | 显示全部楼层

1 串口转TTL模块的RX 和 TX相连,然后用串口助手发送消息,检查usb to ttl模块的RX TX是否正常,
2 检查一下开发板的各个跳线是是不有短路帽掉了3 重新下载程序,测试
4 在线调试,查看是否进入串口接受中断。

51hei截图20210917085842.png
回复

使用道具 举报

ID:876099 发表于 2021-9-17 10:15 | 显示全部楼层
xuyaqi 发表于 2021-9-17 07:15
查波特率 115200,查端口对不对,用字符收发。

波特率没有问题,端口没有问题,然后可以收到单片机发出的数据就是没办法接收到电脑发给单片机的数据
回复

使用道具 举报

ID:876099 发表于 2021-9-17 10:15 | 显示全部楼层

这个我测试的时候是没有问题的不知道为什么后来就不行了,板子是购买的,换了板子也不行
回复

使用道具 举报

ID:419909 发表于 2021-9-17 10:25 | 显示全部楼层
原来正常。现在不正常。硬件问题居多。检测一下线。或者用代换法排除。先换串口模块。再换单片机
回复

使用道具 举报

ID:876099 发表于 2021-9-17 10:30 | 显示全部楼层
黄youhui 发表于 2021-9-17 09:04
1 串口转TTL模块的RX 和 TX相连,然后用串口助手发送消息,检查usb to ttl模块的RX TX是否正常,
2 检查 ...

其他都没问题,这个例程是官方的,下载进去我原来也调试过没问题,就是不知道为什么现在不行了
回复

使用道具 举报

ID:876099 发表于 2021-9-17 10:35 | 显示全部楼层
wfqxgw 发表于 2021-9-17 10:25
原来正常。现在不正常。硬件问题居多。检测一下线。或者用代换法排除。先换串口模块。再换单片机

目前换过ttl模块换过杜邦线换过开发板程序我检查了一下没有问题,就是我发的这个程序,然后波特率和端口也没有错误,开发板我让他发送给电脑电脑也能正常收到,就是不知道现在哪里问题导致单片机接收不到电脑发送的数据
回复

使用道具 举报

ID:94031 发表于 2021-9-17 10:42 | 显示全部楼层
1045964948 发表于 2021-9-17 10:15
波特率没有问题,端口没有问题,然后可以收到单片机发出的数据就是没办法接收到电脑发给单片机的数据

你根据什么说“没办法接收到电脑发给单片机的数据”。
回复

使用道具 举报

ID:592807 发表于 2021-9-17 11:10 | 显示全部楼层
我特地下载了你上传的例程,看了一半没啥问题,唯一有可能有问题就是,你用电脑给单片机发送信息时没有换行。另外如果问题解决记得回帖,封楼。
51hei截图20210917110945.png
51hei截图20210917110719.png
回复

使用道具 举报

ID:876099 发表于 2021-9-17 11:17 | 显示全部楼层
xuyaqi 发表于 2021-9-17 10:42
你根据什么说“没办法接收到电脑发给单片机的数据”。

就是电脑发送给单片机,然后单片机没反应,然后单片机的数据缓存区也没有数据在里面
回复

使用道具 举报

ID:876099 发表于 2021-9-17 11:17 | 显示全部楼层
我想会不会是时钟的原因因为我看了一眼时钟里面有个24mhz和72mhz都打开的
回复

使用道具 举报

ID:966720 发表于 2021-9-17 11:38 | 显示全部楼层
看楼主的说明,我觉得应该是硬件导致的可能性比较大,用示波器直接测试单片机的接收脚,看是否有数据波形就可以判断出是硬件还是软件问题了
回复

使用道具 举报

ID:876099 发表于 2021-9-17 12:14 | 显示全部楼层
TT10000 发表于 2021-9-17 11:38
看楼主的说明,我觉得应该是硬件导致的可能性比较大,用示波器直接测试单片机的接收脚,看是否有数据波形就 ...

目前就是没有示波器所以现在很懵
回复

使用道具 举报

ID:876099 发表于 2021-9-17 12:17 | 显示全部楼层
TT10000 发表于 2021-9-17 11:38
看楼主的说明,我觉得应该是硬件导致的可能性比较大,用示波器直接测试单片机的接收脚,看是否有数据波形就 ...

因为我也想过是硬件问题,所以借了朋友的板子试了一下也是出现了同样的状况
回复

使用道具 举报

ID:876099 发表于 2021-9-17 12:33 | 显示全部楼层
如果有哪位方便可以下载程序试一下,有问题可以反馈一下,万分感谢
回复

使用道具 举报

ID:94031 发表于 2021-9-17 12:57 | 显示全部楼层
1045964948 发表于 2021-9-17 12:33
如果有哪位方便可以下载程序试一下,有问题可以反馈一下,万分感谢

我试验没有问题。
收发.png

回复

使用道具 举报

ID:876099 发表于 2021-9-17 14:58 | 显示全部楼层
黄youhui 发表于 2021-9-17 11:10
我特地下载了你上传的例程,看了一半没啥问题,唯一有可能有问题就是,你用电脑给单片机发送信息时没有换行 ...

好的我等会就去照着你的方法试一下,非常感谢
回复

使用道具 举报

ID:876099 发表于 2021-9-17 14:59 | 显示全部楼层
xuyaqi 发表于 2021-9-17 12:57
我试验没有问题。

对呀例程应该没问题但是我这个不知道为什么问题大了
回复

使用道具 举报

ID:876099 发表于 2021-9-17 15:01 | 显示全部楼层
黄youhui 发表于 2021-9-17 11:10
我特地下载了你上传的例程,看了一半没啥问题,唯一有可能有问题就是,你用电脑给单片机发送信息时没有换行 ...

这个我调试的时候试过勾选或者不勾选,板子还是没反应
回复

使用道具 举报

ID:94031 发表于 2021-9-17 15:37 | 显示全部楼层
xuyaqi 发表于 2021-9-17 12:57
我试验没有问题。

把你试验截图看一下。
回复

使用道具 举报

ID:592807 发表于 2021-9-17 15:45 | 显示全部楼层
1045964948 发表于 2021-9-17 15:01
这个我调试的时候试过勾选或者不勾选,板子还是没反应

按你这么说的话:串口助手没问题  例程没问题 发送没问题 ttl没问题,
USB转TTL模块的GND和板子的GND接了吗?
回复

使用道具 举报

ID:876099 发表于 2021-9-17 15:47 | 显示全部楼层
xuyaqi 发表于 2021-9-17 15:37
把你试验截图看一下。

file:///C:/Users/xiaoxin/Desktop/4.png
这是截图,数据发送不了一直现在这一串
回复

使用道具 举报

ID:876099 发表于 2021-9-17 15:48 | 显示全部楼层
黄youhui 发表于 2021-9-17 15:45
按你这么说的话:串口助手没问题  例程没问题 发送没问题 ttl没问题,
USB转TTL模块的GND和板子的GND接 ...

连接了的,连接是正确的
回复

使用道具 举报

ID:876099 发表于 2021-9-17 16:14 | 显示全部楼层
xuyaqi 发表于 2021-9-17 15:37
把你试验截图看一下。

发了好几遍截图好像发不出来
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表