极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: Ansifa

Arduino学习笔记A4 - Arduino软件模拟PWM以及提高软PWM效率

  [复制链接]
发表于 2013-7-27 14:05:48 | 显示全部楼层
太经典,一定要顶!
回复 支持 反对

使用道具 举报

发表于 2013-11-6 21:48:49 | 显示全部楼层
那个可以驱动无刷电机吗??
回复 支持 反对

使用道具 举报

发表于 2013-11-20 19:51:22 | 显示全部楼层
ewx_boy 发表于 2012-10-25 22:40
谢谢版主回复,
在下刚开始接触,小白中,多问问,
1、PORTD=0x01有没有详细的讲解,或看哪方面知识?
...

这里有个AVR引脚和Arduinino引脚的对应关系图

如果想设置PB1为高电平可以用如下语句
  1. DDRB = 0x01;   //代表PB口的第1位为输出     
  2. PORTB.1 = 0;    //代表第1位为高电平
复制代码

如果想一次性设置八个PB口的高低电平,可用如下语句
  1. PORTB = 0x03;   //  代表第0,1位为高电平。2,3,4,5,6,7为低电平
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2013-11-27 10:19:24 | 显示全部楼层
为什么每次更改一个引脚的状态后都要延时呢?
改为每延时2ms后,判断并调整各引脚状态岂不是更好些,如果判断并调整状态的代码执行时间忽略不计,则增加引脚数目不影响精度啊
回复 支持 反对

使用道具 举报

发表于 2013-12-10 15:34:03 | 显示全部楼层
学习了 标记留存
回复 支持 反对

使用道具 举报

发表于 2014-1-31 17:12:32 | 显示全部楼层
Ansifa 发表于 2012-10-25 22:38
降低delay值,或者改成delayMicroseconds
用PORTD=0x01之类的直接驱动语句代替digitalWrite
降低PWM分辨 ...

“降低delay值,或者改成delayMicroseconds” 原来还可以这样的,又学到东西了~
回复 支持 反对

使用道具 举报

发表于 2014-4-16 08:33:14 | 显示全部楼层
说的太好了!!! 解决了以前的疑惑!
回复 支持 反对

使用道具 举报

发表于 2014-4-17 08:56:30 | 显示全部楼层
好帖子,学习了
回复 支持 反对

使用道具 举报

发表于 2014-5-4 22:05:08 | 显示全部楼层
感觉中间那段代码简单明了
回复 支持 反对

使用道具 举报

发表于 2014-5-30 16:45:00 | 显示全部楼层
学习了  ~~mark~~
回复 支持 反对

使用道具 举报

发表于 2014-11-28 17:51:31 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2014-11-28 17:52:44 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2015-2-9 14:35:09 | 显示全部楼层
支持楼主啊
回复 支持 反对

使用道具 举报

发表于 2015-3-15 13:16:43 | 显示全部楼层
请问,上面的代码是用什么工具编辑的,很漂亮
回复 支持 反对

使用道具 举报

发表于 2015-10-22 11:53:40 | 显示全部楼层
学习了!很棒的PWM
回复 支持 反对

使用道具 举报

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

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-20 04:23 , Processed in 0.048674 second(s), 30 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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