脉冲产生器
本帖最后由 学长 于 2013-8-27 16:19 编辑本脉冲产生器撰写时,因为未参考原作者写的文章 How to writelibraries for the Arduino? ,
以至於使用了 学长 所习惯比较不严谨的命名方式。
今天再上传一个完全以文章内所建议的方式,将全部命名修改。另建文章以示区别。
并感谢 群内、站内各位高手,如下
星空, 看海的日子, 夜, Boku , 小清新, 咖啡冻, darkorigin 等高手,
协助测试, 并提供宝贵建议。
请至另一帖子下载 改邪归自由版
http://www.geek-workshop.com/thread-4451-1-1.html
脉冲产生器
使用范例 及 CPP 在 压缩包内
/*
pulseGen.h - Library for Pulse Generator
Created by Andy Huang, May,2,2013.
Tradition Chinese Forum http://bbs.game7777.net
Tradition Chinese wiki http://www.game7777.net
特性:
1. 不停止 cpu 运行, 不使用 delay() delaymicroseconds() 。
2. 脉冲计数。
3. 指定脉冲 on off 时间, us 微秒。
4. 可同时使用多个引脚进行不同脉冲。
使用方式:
1. 建构时指定 引脚 on时间 off 时间
2. 每个循环呼叫 generator()
3. 暂时不需要脉冲时, 停止呼叫 generator() 即可
4. 重新需要输出脉冲时,必须先呼叫 init() 一次。时间及计数归零。
注意事项:
1. 暂停後重新启动脉冲, 如果未先呼叫 init() , 第一次所产生的脉冲时长最多可能达到71.5分钟。
*/
#ifndef pulseGen_h
#define pulseGen_h
#include "Arduino.h"
class pulseGen{
public:
/* 建立 pulse
/* @param pin 第几引脚
/* @param onInterval 脉冲 ON 的时间 微秒 us
/* @param offInterval 脉冲 OFF 的时间 微秒 us
*/
pulseGen(int pin,int onInterval, int offInterval);
/* 重新初始化
/* @param onInterval 脉冲 ON 的时间 微秒 us
/* @param offInterval 脉冲 OFF 的时间 微秒 us
*/
void init(int onInterval, int offInterval);
/* 执行
*/
void generator();
private:
int _pin; //指定引脚
unsigned long pulseOnInterval; //on时间
unsigned long pulseOffInterval; //off时间
unsigned long oldTime; //比对用
unsigned long newTime; //比对用
bool pulseState; //脉冲状态
};
#endif
简单易用
再贴个范例好了
#include <pulseGen.h>
pulseGen pulse1(7,100,100); //七号引脚,产生 100us on 及 100us off 的脉冲
void setup() {
}
void loop() {
pulse1.generator();
}
看不懂,但{:soso_e179:} 楼主你好!这个脉冲频率能控制吗?最好解释更详细些就好了! fangtaonj 发表于 2013-5-3 20:30 static/image/common/back.gif
楼主你好!这个脉冲频率能控制吗?最好解释更详细些就好了!
pulseGen(int pin,int onInterval, int offInterval);
第一个参数就是 引脚。 就是你要在哪个脚输出波形
第二个就是on的时间
第三个参数就是OFF的时间
后面2个参数可以直接控制频率啊。。。。。纳秒级的了。 范例代码按照说明,好像有问题
不是说需要先调用INIT()么?
然后再generator() ;
还有就是翻译的时候,不要叫呼叫.....米国人叫"CALL" 繁体中文就叫"呼叫" 简体中文应该翻译成"调用" . darkorigin 发表于 2013-5-3 23:33 static/image/common/back.gif
pulseGen(int pin,int onInterval, int offInterval);
第一个参数就是 引脚。 就是你要在哪个脚输出波形 ...
好啊!有兴趣,这几天研究一下!谢谢楼主! pulseGen_h 在哪儿下载库文件呢?没有库文件不能用啊
万马奔腾 发表于 2013-5-4 10:47 static/image/common/back.gif
pulseGen_h 在哪儿下载库文件呢?没有库文件不能用啊
很明显,你没有把楼主的帖子看到尾....人家那么大的附件挂在那里.....
还有就是提供了2个地址说~ darkorigin 发表于 2013-5-4 10:50 static/image/common/back.gif
很明显,你没有把楼主的帖子看到尾....人家那么大的附件挂在那里.....
还有就是提供了2个地址说~
库文件怎么使用啊,放在哪个位置啊 出现如此情况啊 万马奔腾 发表于 2013-5-4 10:52 static/image/common/back.gif
库文件怎么使用啊,放在哪个位置啊
.......ARDUINO基本的教程。。。。所有的库文件。包括你以后买的各种器件的库文件,都要放进去的位置
\libraries
就是说你ARDUINO.EXE在的文件夹下有个LIBEARIES文件夹。。丢进去就好
不过不要多级目录,必须是下面有文件的。。。。嵌套一堆文件夹的没用 还有,就是ARDUINO的版本问题。。。。很多库文件只支持少数几个版本,,,,, 谢谢楼主和楼上,新手路过学习啦 darkorigin 发表于 2013-5-3 23:38 static/image/common/back.gif
范例代码按照说明,好像有问题
不是说需要先调用INIT()么?
然后再generator() ;
非常感谢你的议建议
我会尽量记住, 以後翻译时会更加小心。谢谢。
欢迎提出其他建议, 谢谢。
页:
[1]