OpenEdv-开源电子网

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

求助,关于USMART组件调试问题

[复制链接]

2

主题

4

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2018-3-13
在线时间
3 小时
发表于 2018-3-14 13:38:38 | 显示全部楼层 |阅读模式
5金钱
求助原子哥,我程序里设置的延时是0.3s,我在串口助手输入delay_ms(1000);  它只会在一瞬间延时1s,而后又变成了0.3s。同样的,我在程序里设置的LED2 =1,在串口助手输入led_set(0);也只是一瞬间改变led的亮灭,之后立即恢复原来的状态。我也看了论坛很多网友调试usmart组件遇到问题,有一贴原子哥回复说是中断太频繁打断了usmart的中断函数,我是不是也是这个原因?但是我把usmart的中断优先级设置为最高级,还是一样现象

最佳答案

查看完整内容[请看2#楼]

明显理解偏差啊 usmart调用delay_ms 1000, 是执行延时1s, 执行完继续执行你代码里面的延时,完全没毛病啊。 如果你是想改变你代码的延时,你得做个变量,变量表示延时多少,通过USmart调用函数修改这个变量。 这样就 可以实现。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2018-3-14 13:38:39 | 显示全部楼层
明显理解偏差啊   usmart调用delay_ms 1000, 是执行延时1s, 执行完继续执行你代码里面的延时,完全没毛病啊。  如果你是想改变你代码的延时,你得做个变量,变量表示延时多少,通过USmart调用函数修改这个变量。 这样就 可以实现。
回复

使用道具 举报

2

主题

4

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2018-3-13
在线时间
3 小时
 楼主| 发表于 2018-3-16 16:52:05 | 显示全部楼层
正点原子 发表于 2018-3-14 13:38
明显理解偏差啊   usmart调用delay_ms 1000, 是执行延时1s, 执行完继续执行你代码里面的延时,完全没毛病 ...

谢谢原子哥解惑。我其实是根据您的跑马灯实验改的,一开始程序源代码延时是0.3s,然后我想通过您的USmart组件来改变它的延时。就像您说的,我定义一个全局变量time,通过改变这个参数来改变延时,那我程序上应该怎么实现,或者给个提示。我这个问题想了两天,一直没有头绪,请原谅我这个初学者
回复

使用道具 举报

49

主题

151

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
203
金钱
203
注册时间
2018-3-14
在线时间
71 小时
发表于 2018-3-28 11:31:36 | 显示全部楼层
在main外面定义一个静态全局变量,设为延时函数参数,试试看
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-8 14:23

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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