OpenEdv-开源电子网

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

STM32可以不使用定时器输出PWM波吗

[复制链接]

3

主题

19

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2018-2-9
在线时间
7 小时
发表于 2018-2-10 10:52:52 | 显示全部楼层 |阅读模式
1金钱
比如让一个IO口的电平为高,delay_ms(2),再让电平为低,delay_ms(18),执行一次,这样子。。。。算不算PWM波,和定时器产生那种的PWM波有什么区别吗

最佳答案

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

stm32的这个delay是不能放到中断处理函数的,程序会假死。如果非要在中断处理函数里,就自己写个delay,不要用原子提供的这个
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
12021
金钱
12021
注册时间
2013-3-8
在线时间
1280 小时
发表于 2018-2-10 10:52:53 | 显示全部楼层
爱兜风ADF 发表于 2018-2-10 11:05
我的这个程序就不太对劲。。。电机动不了 在抖    但是相同的代码放在按键程序下就可以 比如case(1) .....  ...

stm32的这个delay是不能放到中断处理函数的,程序会假死。如果非要在中断处理函数里,就自己写个delay,不要用原子提供的这个
回复

使用道具 举报

12

主题

143

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2687
金钱
2687
注册时间
2017-9-8
在线时间
468 小时
发表于 2018-2-10 11:01:01 | 显示全部楼层
在输出的同时,你就不能干别的事了
回复

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
12021
金钱
12021
注册时间
2013-3-8
在线时间
1280 小时
发表于 2018-2-10 11:01:28 | 显示全部楼层
算,就是你单片机不想做别的事情了,只做这个,而且频率不高!
回复

使用道具 举报

3

主题

19

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2018-2-9
在线时间
7 小时
 楼主| 发表于 2018-2-10 11:03:50 | 显示全部楼层
jian0052 发表于 2018-2-10 11:01
在输出的同时,你就不能干别的事了

意思就是我如果在中断服务函数里放这个 程序就会异常吗
回复

使用道具 举报

3

主题

19

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2018-2-9
在线时间
7 小时
 楼主| 发表于 2018-2-10 11:04:15 | 显示全部楼层
augustedward 发表于 2018-2-10 11:01
算,就是你单片机不想做别的事情了,只做这个,而且频率不高!

意思就是我如果在中断服务函数里放这个 程序就会异常吗
回复

使用道具 举报

3

主题

19

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2018-2-9
在线时间
7 小时
 楼主| 发表于 2018-2-10 11:05:17 | 显示全部楼层
我的这个程序就不太对劲。。。电机动不了 在抖    但是相同的代码放在按键程序下就可以 比如case(1) .....   就可以正常的转动

project1.0.zip

6.21 MB, 下载次数: 60

回复

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
12021
金钱
12021
注册时间
2013-3-8
在线时间
1280 小时
发表于 2018-2-10 11:06:51 | 显示全部楼层
爱兜风ADF 发表于 2018-2-10 11:05
我的这个程序就不太对劲。。。电机动不了 在抖    但是相同的代码放在按键程序下就可以 比如case(1) .....  ...

最好不要在中断里放delay();否则你程序很容易出问题。另外你电机是什么电机,直流的,还是步进的?
回复

使用道具 举报

3

主题

19

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2018-2-9
在线时间
7 小时
 楼主| 发表于 2018-2-10 11:23:41 | 显示全部楼层
augustedward 发表于 2018-2-10 11:12
stm32的这个delay是不能放到中断处理函数的,程序会假死。如果非要在中断处理函数里,就自己写个delay, ...

我用的SG90舵机 其实我是想做个微信跳一跳物理外挂来着 就是串口输个t  然后delay( f(t)  )就是延迟一个t的函数来控制延迟的时间         我想让他转过去 延迟f(t)后  再转回来
回复

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
12021
金钱
12021
注册时间
2013-3-8
在线时间
1280 小时
发表于 2018-2-10 11:28:15 | 显示全部楼层
那你不能放到主循环吗?
回复

使用道具 举报

3

主题

19

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2018-2-9
在线时间
7 小时
 楼主| 发表于 2018-2-10 11:51:13 | 显示全部楼层
augustedward 发表于 2018-2-10 11:28
那你不能放到主循环吗?

stm32新手..... 看完中断实验的视频就灵机一动觉得在串口输完数字后电机转这件事情可以放在中断里...主循环也可以实现吗...
回复

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
12021
金钱
12021
注册时间
2013-3-8
在线时间
1280 小时
发表于 2018-2-10 12:39:47 | 显示全部楼层
爱兜风ADF 发表于 2018-2-10 11:51
stm32新手..... 看完中断实验的视频就灵机一动觉得在串口输完数字后电机转这件事情可以放在中断里...主循 ...

串口中断里把命令收到,然后在主循环里根据这个命令执行
回复

使用道具 举报

0

主题

64

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
249
金钱
249
注册时间
2018-1-19
在线时间
28 小时
发表于 2018-2-10 14:32:01 | 显示全部楼层
可以啊    你可以用DM413芯片   就有输出PWM的功能  驱动芯片就行了,,
回复

使用道具 举报

3

主题

19

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2018-2-9
在线时间
7 小时
 楼主| 发表于 2018-2-10 16:30:45 | 显示全部楼层
augustedward 发表于 2018-2-10 12:39
串口中断里把命令收到,然后在主循环里根据这个命令执行

好的好的 我试试 非常感谢
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-8 05:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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