[STM32F1]

STM32F103 ISP 连续发送数据通信不成功

[复制链接]
282|1
手机看帖
扫描二维码
随时随地手机跟帖
ljxh401|  楼主 | 2022-8-30 11:57 | 显示全部楼层 |阅读模式
本帖最后由 ljxh401 于 2022-8-30 12:12 编辑

将boot0=1 上电
然后 电脑的 使用 SSCOM 发送 0x79
收到STM32F103 回复 0x79  代表系统已经进入ISP 模式
然后发送第一个命令 0x00 0xFF 获取版本号,机器没有回复, 再点击多几次发送 0x00 0xFF 就回复0x1F 代表解释命令失败
但是如果我 单次发送 0x00 再点击发送 0xFF 就能正确回复
串口通信如下
[12:01:50.170]发→◇7F □                                                    //电脑串口发送握手命令
[12:01:50.174]收←◆79                                                       //单片机回复握手成功
[12:01:54.483]发→◇00 FF □                                                //发送获取版本命令,没有回复
[12:01:55.839]发→◇00 FF □                                                //继续发送获取版本命令
[12:01:55.845]收←◆1F                                                        //回复 NAK
[12:01:56.927]发→◇00 FF □
[12:01:57.607]发→◇00 FF □
[12:01:57.622]收←◆1F
[12:01:59.533]发→◇00 □                                                     //将获取版本命令 单次发送一个字节 0x00
[12:02:00.969]发→◇FF □                                                     //将获取版本命令 单次发送一个字节 0xFF
[12:02:00.974]收←◆79 0B 22 03 2C 70 E0 11 21 8B 6E 74 CC B9 82 93 2F FF  //成功接收到回复数据


但是我如果用单片机做烧录器的ISP连续发送 00 FF 是不用等待的,但是电脑的USB 串口是要等待的奇怪,感觉是 STM32F103通过 0x7F 命令自检我的电脑的波特率不太正确

但是使用电脑端的 mcuisp软件 进行 isp 烧录是正常的,不知道别人是怎么做到的

而且我尝试在电脑端用自己写的程序去实现 isp
发送 7F 收到 79
发送 00 等 1毫秒 发送 FF
接收到 79 0B 22 ... ... 后面的数据就不正确了,感觉波特率不正确

使用特权

评论回复
ljxh401|  楼主 | 2022-8-30 23:11 | 显示全部楼层
顶起,想做一个ubuntu电脑端的 mcuisp

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

49

主题

220

帖子

3

粉丝