Answer

Answer

0个粉丝

40

问答

20

专栏

62

资料

Answer  发布于  2020-10-21 17:20:36
采纳率 0%
40个问答
1814

不用系统延时方式(系统死等不好),实现延时发送串口数据,怎么实现呢?

不用系统延时方式,实现延时发送串口数据,怎么实现呢?

比如现在代码如下,怎么去掉sys_delay_ms系统延时(系统死等不好),但又能实现延时100ms。
uart_send(uint8 cmd1,uint8 cmd2)
{
switch (cmd1)
{
case 1:
sys_delay_ms(100);
send(cmd1,cmd2);
break;

case 2:
sys_delay_ms(100);
send(cmd1,cmd2);
break;
}
}

我来回答
回答1个
时间排序
认可量排序

AI算法识别

0个粉丝

41

问答

18

专栏

124

资料

AI算法识别 2020-10-21 17:21:13
认可0

可以在定时器里面添加一个计数器,定时时间到了之后计数器加1,然后发送数据时获取计数器的值,并和上次发送数据时计数器的值比较,如果两次计时器值的差乘以定时时间等于100ms时,就发送数据,否则就不发送。
比如定时器定时时间为1ms,每1ms计时器自加一次,那么就在两次计数器值差为100的时候,发送一次数据。或者当计时器值记到100时,发送一次数据,并将计数器值清零。继续等待下一次发送。

或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区