OpenEdv-开源电子网

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

Mini stm32开发板融合串口和PWM实验

[复制链接]

3

主题

14

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2013-9-14
在线时间
0 小时
发表于 2013-9-18 16:01:22 | 显示全部楼层 |阅读模式
初学者希望利用mini开发板融合串口和PWm实验,实现的功能是通过串口发送值实时修改PWM实验中TIM3->CCR2的值来控制PWM的占空比,从而改变led0pwmval的值来改变灯的亮度。由于初次接触stm32,对原子哥的串口收发原理的源码不是很了解,希望原子哥写一段融合2个实验的源码,同时也方便其它有需要的人学习,先谢谢原子哥!!!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

51

主题

1455

帖子

3

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2613
金钱
2613
注册时间
2011-1-25
在线时间
176 小时
发表于 2013-9-18 17:00:02 | 显示全部楼层
你自己可以的。。
顺便提醒下,你如何在串口信息中提取你要数据,值得你思考哦。
一直努力就很好。
回复 支持 反对

使用道具 举报

3

主题

14

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2013-9-14
在线时间
0 小时
 楼主| 发表于 2013-9-18 17:09:58 | 显示全部楼层
回复【2楼】qq942266575:
---------------------------------
这个真不会啊  太惭愧了
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-9-18 22:46:14 | 显示全部楼层
利用USMART,可以很好的实现你要的功能。
只需要自己写个函数,用于设置输出PWM的值,然后利用USMART调用这个函数即可。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

3

主题

14

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2013-9-14
在线时间
0 小时
 楼主| 发表于 2013-9-19 10:38:18 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
原子哥 我在你的串口中断服务程序里直接把串口读的数据赋值给了TIM3->CCR2,我觉得串口发的数据是对应的ASCII码,例如我先发送5过去,则5对应的ASCII码值赋给TIM3->CCR2,灯有一定的亮度,我再发送56过去,则只是进入2次中断函数,并分别把5和6的ASII码值给了TIM3->CCR2,然而5和6的ASCII码值相差太小,所以灯的亮度没什么变化,请问原子哥我理解的对吗????还望指正....
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-9-19 10:48:35 | 显示全部楼层
回复【5楼】hailin_3:
---------------------------------
是的,你串口发送数据单个值,最大就是0~255的范围,所以你再怎么折腾也就那样。
当然如果你0~255可以很好的控制PWM,那就无所谓。
否则你就得做多字节接收组合成一个大数据,以达到你的目的。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

3

主题

14

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2013-9-14
在线时间
0 小时
 楼主| 发表于 2013-9-19 11:09:43 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
好的  我明白了  之前一直以为串口发0~255之间的数,就会收到对应的数。现在知道是对应的ASCII码,刚好我PWM控制没有超过0~255的范围,也就是说我找到ASCII码值在0~255范围内的单个值依次发送,就能实现PWM在0~255变化了,谢原子哥,我会再好好研究你的源码的....
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-12 23:46

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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