本帖最后由 lygo 于 2017-9-21 19:11 编辑
大家好,上一篇帖子介绍了ardunio编程的基本语法以及一些ardunio IDE
框架,那么这一篇帖子就开始介绍如何编程啦。那么接下来就进入正题吧: 首先这篇帖子有以下2个内容:1、
新建工程2、
点亮开发板的led灯(USR)
详细步骤如下:
一、新建工程:在这里虽说上一篇帖子提及到,但是并没有很仔细的讲解。1、
首先打开IDE进行如下操作:
那么就出现了下面这个界面:
然后就开始点个灯玩玩吧。在点灯之前还是有必要看一下原理图的,因为毕竟你得知道led灯是挂在哪个引脚上的吧,原理图如下:
再看下面这张图:
我们可以得到led灯是挂在p7上的。接下来就编写代码吧:
2、点灯的代码如下:#define PIN 7
void setup() {
// put your setup code here, to run once:
pinMode(PIN,OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(PIN,HIGH);
delay(1000);
digitalWrite(PIN,LOW);
delay(1000);
}
二、程序分析:
1、在程序的最开头定义了一个宏定义义,关于为什么是p7引脚,上面已经说明了,就不需要详细说明了。
2、程序框架:其实这里前面都讲过的,但是这里我还是稍微说明一下吧:Arduino程序结构由两部分构成
:(1)
、setup():在Arduino程序运行时首先要调用setup()函数,用于初始化变量、设置针脚的输出/输入类型、配置串口、引入类库文件等等。每次 Arduino 上电或重启后,setup()函数只运行一次。 (2)
、 loop():在setup()函数中初始化和定义变量,然后执行loop()函数。顾名思义,该函数在程序运行过程中不断地循环,根据反馈,相应地改变执行情况。
通过该函数动态控制Arduino主控板。这两个函数在Arduino编程中是必须的,缺一不可。对于习惯使用C/C++的程序员来讲,这个程序结构比较奇葩。其实是Arduino编译器将一些初始化代码集成在了内部,为从来没有接触过编程的初学者提供了方便。实际内部完整代码可能是下面的格式:
int main(void)
{
init();//初始化
setup();//执行初始化
for(;;) //一直循环
loop(); //相当于在一直循环
return 0;
}
(3)、系统上电后,首先执行init函数,对硬件进行初始化操作。然后再去执行setup函数,最后重复去执行loop函数。要点亮LED,只需让D13输出高电平即可;反之就输出低电平;
pinMode(PIN,OUTPUT);设置为输出模式。
digitalWrite(PIN,HIGH);digitalWrite(PIN,LOW);设置管脚输出高电平或低电平。
delay(1000) 延时函数,延时1000ms,即1s。
对于51单片机它就相当于这段代码:
sbit pin = P1^1;
Pin =1;
Pin = 0;
而对于STM32来说的话:
无非就是设置输入和输出模式了,然后将引脚置低或者置高。、
GPIO_SetBits();
void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal)
三、实验现象:
编译并下载程序后,可以看到UNO PLUS开发板的USER LED会以2s为周期闪烁。如下图:
好的,本次实验完成,虽说十分简单,但还是花了点时间的。。。最后,谢谢大家!!!!
本帖最后由 lygo 于 2017-9-21 19:11 编辑
大家好,上一篇帖子介绍了ardunio编程的基本语法以及一些ardunio IDE
框架,那么这一篇帖子就开始介绍如何编程啦。那么接下来就进入正题吧: 首先这篇帖子有以下2个内容:1、
新建工程2、
点亮开发板的led灯(USR)
详细步骤如下:
一、新建工程:在这里虽说上一篇帖子提及到,但是并没有很仔细的讲解。1、
首先打开IDE进行如下操作:
那么就出现了下面这个界面:
然后就开始点个灯玩玩吧。在点灯之前还是有必要看一下原理图的,因为毕竟你得知道led灯是挂在哪个引脚上的吧,原理图如下:
再看下面这张图:
我们可以得到led灯是挂在p7上的。接下来就编写代码吧:
2、点灯的代码如下:#define PIN 7
void setup() {
// put your setup code here, to run once:
pinMode(PIN,OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(PIN,HIGH);
delay(1000);
digitalWrite(PIN,LOW);
delay(1000);
}
二、程序分析:
1、在程序的最开头定义了一个宏定义义,关于为什么是p7引脚,上面已经说明了,就不需要详细说明了。
2、程序框架:其实这里前面都讲过的,但是这里我还是稍微说明一下吧:Arduino程序结构由两部分构成
:(1)
、setup():在Arduino程序运行时首先要调用setup()函数,用于初始化变量、设置针脚的输出/输入类型、配置串口、引入类库文件等等。每次 Arduino 上电或重启后,setup()函数只运行一次。 (2)
、 loop():在setup()函数中初始化和定义变量,然后执行loop()函数。顾名思义,该函数在程序运行过程中不断地循环,根据反馈,相应地改变执行情况。
通过该函数动态控制Arduino主控板。这两个函数在Arduino编程中是必须的,缺一不可。对于习惯使用C/C++的程序员来讲,这个程序结构比较奇葩。其实是Arduino编译器将一些初始化代码集成在了内部,为从来没有接触过编程的初学者提供了方便。实际内部完整代码可能是下面的格式:
int main(void)
{
init();//初始化
setup();//执行初始化
for(;;) //一直循环
loop(); //相当于在一直循环
return 0;
}
(3)、系统上电后,首先执行init函数,对硬件进行初始化操作。然后再去执行setup函数,最后重复去执行loop函数。要点亮LED,只需让D13输出高电平即可;反之就输出低电平;
pinMode(PIN,OUTPUT);设置为输出模式。
digitalWrite(PIN,HIGH);digitalWrite(PIN,LOW);设置管脚输出高电平或低电平。
delay(1000) 延时函数,延时1000ms,即1s。
对于51单片机它就相当于这段代码:
sbit pin = P1^1;
Pin =1;
Pin = 0;
而对于STM32来说的话:
无非就是设置输入和输出模式了,然后将引脚置低或者置高。、
GPIO_SetBits();
void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal)
三、实验现象:
编译并下载程序后,可以看到UNO PLUS开发板的USER LED会以2s为周期闪烁。如下图:
好的,本次实验完成,虽说十分简单,但还是花了点时间的。。。最后,谢谢大家!!!!