
最简单的就是用 延迟函数控制 8MHZ晶振执行1141条指令就是1MS
void delay(unsigned int ms)
{
unsigned int i,j;
for(i=0;i<ms;i++)
{
for(j=0;j<1141;j++);
}
}
void main()
{
while(1)
{
DDRA=0x01;
PORTA=0x01;
delay(2000);
PORTA=0x00;
delay(2000);
}
用定时器的话就是设置好溢出中断
有以下疑问:
1 SoftPWMSet 这是什么鬼? arduino的pwm输出,可以直接使用analogwrite函数。若是你自己写的,;源文件丢出来给人看看是啥。
2 还有"pins_arduinoh"也是,如果是自己写的,都把它贴出来。
3 arduino的中断,不是这样用的。直接使用<avr/interrupth>,会造成冲突
4 对你这个程序,你遇到的困难是?想跟网友求助那个问题?看了10多分钟,还是一头雾水。你这个我大概看了下,目测你的程序是这样的:3,5,10,9,这四个引脚来控制两个直流电机,直接扩流来驱动电机,引脚8接的是一个LeD,用于显示状态,还有个11引脚,从注释的字面上理解,应该是超声波的相关引脚,但是一个引脚,超声波,我愚钝,看不出来的是干嘛。
看了10多分钟,还没搞懂你想要干嘛,根据超声波测得的距离,来控制小车前进后退?还是前进过程中,超声波检测到障碍来做避障?
根据前面的分析,你这段代码,肯定是不通过编译的,错误提示呢?
你要网友帮你修正程序,但是又不知道你的需求,怎么改?
总之,分给我吧~~~
就是晶振和工作电压的区别,其他都一样
就是ATMEGA328P作为主控芯片,当供给电源VCC=33V,晶振8M时就是Arduino pro mini 33V板,当供给电源VCC=5V,晶振16M时就是Arduino pro mini 5V板,使用时先下载对应的booloater,然后就可以些相同的程序到这两块不同的板中
硬件上两者有区别,看官方的网站,在pro mini这个产品下,有两个购买按钮, 分别指向两个不同的产品页 , 参考以下官网.>
以上就是关于ATmega328P定时器1库函数代码,新手看不懂全部的内容,包括:ATmega328P定时器1库函数代码,新手看不懂、arduino 程序解析, 求真正理解单片机的牛人、atmega328p 5v和3.3v标志区分等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)