首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从winAVR开始

从winAVR开始
EN

Stack Overflow用户
提问于 2013-04-04 01:01:04
回答 1查看 1.3K关注 0票数 0

从pascal 7到delphi,我有20多年的编程经验。我想开始用C语言编程微控制器,大多数电子工具包推荐的工具是winAVR with programmers。我已经安装了软件,并想开始编译代码,但至少可以说,我迷失了方向,找不到任何简单的文档来让自己进入可以开始测试代码的轨道。有人能提供一些好的入门材料吗?

EN

回答 1

Stack Overflow用户

发布于 2013-04-04 11:26:28

而对于PC来说,通常的第一个程序是"Hello, World!",在嵌入式世界中(没有显示器,至少从一开始,相当于blinky led:你把一个发光二极管连接到处理器的某个输出引脚上(don't forget the current-limiting resistor!:你需要一个与发光二极管串联的电阻器),然后让发光二极管闪烁。你可以找到很多用于AVR的闪烁的LED,但我们可以在这里写一个:

代码语言:javascript
复制
// The next define tells delay.h what your CPU speed is, assuming 1Mhz
#define F_CPU 1000000UL
#include <util/delay.h>

main() {
   while(1) { // loop forever
      DDRB = 0xFF;     // Set the direction of all pins 
                       // on port B to OUTPUT (can change to some other port)
      PORTb = 0xFF;    // Set all pins on port B high (can change to some other port)
      _delay_ms(1000); // Wait one second;
      PORTb = 0x00;    // Set all pins on port B low (can change to some other port)
      _delay_ms(1000); // Wait one second;
   }
}

它应该在WinAVR上编译,并正确加载。将PORTBDDRB更改为您想要的其他端口。请注意,此程序会更改该端口上的所有引脚:因此,如果您的端口B有8个引脚,则所有这些引脚都会在连接到它们的led上闪烁。别忘了限流电阻,而且LED是有方向性的:它们只在一种情况下工作,而不是在另一种情况下工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15793591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档