【树莓派3B+测评】GCC编译HelloWorld&点灯程序
本帖最后由 donatello1996 于 2018-12-16 18:03 编辑树莓派3B+的Raspbian系统自带了GCC编译器,编译程序非常方便,在串口登录或者命令行登录系统之后,直接敲击
gcc
或
gcc -v
命令即可验证:
使用XSHELL命令行调试助手+SSH登录非常方便哈哈。
我们先来编写一个非常简单的HelloWorld程序:
这里打印两行字符串,注意,在Linux系统中使用printf函数一定要注意,语句末尾必须加\n换行,因为在Linux系统中,在终端使用串口发送指令是以缓存块为单位的,\n是缓存结束的标志,必须加,不加的话会导致诸多BUG。
然后是做文件传输有关的工作,比较常用的方法是直接使用SFTP协议传输,比如使用FileZilla Client软件将刚刚写好的.c文件发送到开发板上:
敲击
gcc main1.c -o 1
指令编译,生成一个名称为1的可执行文件:
敲击
./1
执行:
然后是点灯,还是熟悉的味道,用树莓派点灯还算是简单的,直接用wiringPi软件库即可实现,该软件库是直接操作系统内存的,通过读写内存块来修改BCM芯片的GPIO外设地址内容,进而实现控制GPIO的输出电平,使用wiringPi软件来操作,GPIO引脚翻转速率可达1~2MHz。由于Raspbian系统默认安装了wiringPi软件库,因此我就不介绍安装方法了,直接上指令:
gpio readall
可打印引脚状态:
只需要简单几句,即可实现点灯:
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <wiringPi.h>
#include "raspi_led_pwm.h"
int main()
{
wiringPiSetup();
Raspi_LED_Init();
while(1)
{
digitalWrite(LED5V,HIGH);
sleep(1);
digitalWrite(LED5V,LOW);
sleep(1);
}
}
#define LED5V 0
void Raspi_LED_Init()
{
pinMode(LED5V,OUTPUT);
digitalWrite(LED5V,HIGH);
}
注意在编译的时候要加上-lwiringPi:
在GPIO0引脚处连接光耦继电器,继电器另一端连接LED照明灯,即可点灯,非常简单:、
这灯点的太亮了{:1_103:}差点闪瞎我的眼 有种爆破的感觉 {:1_103:}{:1_103:}{:1_103:}
页:
[1]