OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 11206|回复: 25

STM32 IAP Ymodem协议升级程序,串口改成485行的通吗?

[复制链接]

5

主题

184

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1050
金钱
1050
注册时间
2016-5-13
在线时间
111 小时
发表于 2017-9-16 15:27:36 | 显示全部楼层 |阅读模式
1金钱
现在我把它修改为485通讯。SecureCRT传送bin文件时没反应。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

5

主题

184

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1050
金钱
1050
注册时间
2016-5-13
在线时间
111 小时
 楼主| 发表于 2017-9-16 15:27:37 | 显示全部楼层
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2017-9-17 00:24:16 | 显示全部楼层
应该是可以,不过你代码得改对,调试一下吧
回复

使用道具 举报

5

主题

184

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1050
金钱
1050
注册时间
2016-5-13
在线时间
111 小时
 楼主| 发表于 2017-9-18 09:43:58 | 显示全部楼层
正点原子 发表于 2017-9-17 00:24
应该是可以,不过你代码得改对,调试一下吧

也不要修改很多吧,就是通讯加入485控制,通讯协议应该不要修改。我调试时打印的信息都有些乱码。但是我可以选择更新程序,但是用SecureCRT选择Ymodem协议发送bin就无响应了。
回复

使用道具 举报

6

主题

44

帖子

0

精华

高级会员

Rank: 4

积分
767
金钱
767
注册时间
2017-7-25
在线时间
127 小时
发表于 2017-9-18 20:40:27 来自手机 | 显示全部楼层
secureCRT用串口升级成功了吗
回复

使用道具 举报

5

主题

184

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1050
金钱
1050
注册时间
2016-5-13
在线时间
111 小时
 楼主| 发表于 2017-9-19 17:29:33 | 显示全部楼层
年华七堇 发表于 2017-9-18 20:40
secureCRT用串口升级成功了吗

成功了。现在485也成功了。
回复

使用道具 举报

23

主题

344

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2305
金钱
2305
注册时间
2017-7-6
在线时间
280 小时
发表于 2017-11-17 15:05:21 | 显示全部楼层
楼主,问你一下 64位win7可以用secureCRT以YMODEM协议发送APP吗
回复

使用道具 举报

5

主题

184

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1050
金钱
1050
注册时间
2016-5-13
在线时间
111 小时
 楼主| 发表于 2017-11-30 13:19:01 | 显示全部楼层
1547674987 发表于 2017-11-17 15:05
楼主,问你一下 64位win7可以用secureCRT以YMODEM协议发送APP吗

我的window10 64是可以的。
回复

使用道具 举报

2

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
61
金钱
61
注册时间
2017-5-16
在线时间
14 小时
发表于 2017-12-25 15:39:23 | 显示全部楼层
zhuifeng8911 发表于 2017-9-18 09:43
也不要修改很多吧,就是通讯加入485控制,通讯协议应该不要修改。我调试时打印的信息都有些乱码。但是我 ...

楼主你的问题是怎么解决的,我现在遇到和你一样的问题,前面打印的提示信息都没有问题,按1后等待发送文件,串口的情况下这个时候会收到很多"C"字符,485的收不到"C"字符了,而且传输BIN文件没反应,你是怎么解决的啊,求教
回复

使用道具 举报

5

主题

184

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1050
金钱
1050
注册时间
2016-5-13
在线时间
111 小时
 楼主| 发表于 2018-1-9 09:05:52 | 显示全部楼层
reverse 发表于 2017-12-25 15:39
楼主你的问题是怎么解决的,我现在遇到和你一样的问题,前面打印的提示信息都没有问题,按1后等待发送文 ...

[mw_shl_code=c,true]void SerialPutChar(uint8_t c)
{
    USART_SendData(USART1, c);
    while (USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET)
    {
    }
}
[/mw_shl_code]

修改为
void SerialPutChar(uint8_t c)
{
        RS485_SET_SEND;                //设置为发送模式

        USART_SendData(USART1, c);   
        while(USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET);               
        RS485_SET_RECEIVE;                                //设置为接收模式
}
回复

使用道具 举报

13

主题

116

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
372
金钱
372
注册时间
2018-1-22
在线时间
118 小时
发表于 2018-2-5 10:15:18 | 显示全部楼层
zhuifeng8911 发表于 2018-1-9 09:05
[mw_shl_code=c,true]void SerialPutChar(uint8_t c)
{
    USART_SendData(USART1, c);

在设为接收模式前 延时一段时间可以解决打印乱码问题   我的波特率115200延时80us后打印正常   还有官方的例程是用在超级终端的  用secure显示有点不正常 但是可以升级bin
回复

使用道具 举报

15

主题

96

帖子

0

精华

高级会员

Rank: 4

积分
649
金钱
649
注册时间
2017-4-21
在线时间
151 小时
发表于 2018-5-16 12:45:08 | 显示全部楼层
能参考下楼主的程序吗?也在弄成485的,但没有调通
回复

使用道具 举报

2

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2018-8-3
在线时间
13 小时
发表于 2018-8-23 15:25:57 | 显示全部楼层
老兄你的485-IAP升级固件调试好了吗,我最近在弄,折腾好久了没有成功
回复

使用道具 举报

5

主题

184

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1050
金钱
1050
注册时间
2016-5-13
在线时间
111 小时
 楼主| 发表于 2018-8-23 16:02:35 | 显示全部楼层
JERYLI 发表于 2018-8-23 15:25
老兄你的485-IAP升级固件调试好了吗,我最近在弄,折腾好久了没有成功

调试好了。上面不是写了解决的方案吗?
回复

使用道具 举报

2

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2018-8-3
在线时间
13 小时
发表于 2018-8-23 16:03:29 | 显示全部楼层

可以发一份例程小弟参考一下吗,感激不尽啊
回复

使用道具 举报

2

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2018-8-3
在线时间
13 小时
发表于 2018-8-23 16:05:26 | 显示全部楼层
zhuifeng8911 发表于 2018-8-23 16:02
调试好了。上面不是写了解决的方案吗?

我也是这样解决的,接收的时候关闭发送,可是没成功,折腾死了
回复

使用道具 举报

2

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2018-8-3
在线时间
13 小时
发表于 2018-8-23 16:13:56 | 显示全部楼层
zhuifeng8911 发表于 2018-8-23 16:02
调试好了。上面不是写了解决的方案吗?

这是485使用串口3 的中断函数

回复

使用道具 举报

2

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2018-8-3
在线时间
13 小时
发表于 2018-8-23 16:14:19 | 显示全部楼层
JERYLI 发表于 2018-8-23 16:13
这是485使用串口3 的中断函数

这是485使用串口3 的中断函数

捕获.PNG
回复

使用道具 举报

5

主题

184

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1050
金钱
1050
注册时间
2016-5-13
在线时间
111 小时
 楼主| 发表于 2018-8-25 16:16:37 | 显示全部楼层
JERYLI 发表于 2018-8-23 16:14
这是485使用串口3 的中断函数

我的不是用的中断模式。是查询标志位的。
回复

使用道具 举报

1

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
185
金钱
185
注册时间
2016-9-22
在线时间
41 小时
发表于 2019-2-25 15:19:50 | 显示全部楼层
楼主,我现在也在研究Ymodem升级程序呢。你能把你的这个例程发我吗?参考一下,谢谢。邮箱:1244218391@qq.com
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
4
金钱
4
注册时间
2019-9-20
在线时间
0 小时
发表于 2019-9-26 13:41:35 | 显示全部楼层
朋友,您是咋解决的,我也遇到同样的问题!谢谢
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
4
金钱
4
注册时间
2019-9-20
在线时间
0 小时
发表于 2019-9-26 14:19:48 | 显示全部楼层
我的问题已经解决!这里不能用这一句:while (USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET)     {     }   应该用:while (USART_GetFlagStatus(EVAL_COM1, USART_FLAG_TC) == RESET) {}
回复

使用道具 举报

0

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
151
金钱
151
注册时间
2019-6-17
在线时间
23 小时
发表于 2019-10-22 12:55:28 | 显示全部楼层
gaoxf7747 发表于 2019-9-26 14:19
我的问题已经解决!这里不能用这一句:while (USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET)     ...

我也用你的方法解决了,非常感谢
回复

使用道具 举报

2

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
90
金钱
90
注册时间
2019-12-10
在线时间
22 小时
发表于 2020-1-17 17:27:05 | 显示全部楼层
求bootloader源码呀大佬我的395710954@qq.com
回复

使用道具 举报

11

主题

200

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1154
金钱
1154
注册时间
2014-11-9
在线时间
228 小时
发表于 2022-3-21 17:40:03 | 显示全部楼层
求bootloader,谢谢大佬,我的邮箱:827594759@qq.com
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2021-11-9
在线时间
2 小时
发表于 2022-3-31 14:00:47 | 显示全部楼层
为啥单片机串口发送'C',之后超级终端发送文件没有任何反应?
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-27 17:06

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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