3901|3

156

帖子

1

TA的资源

一粒金砂(中级)

楼主
 

【树莓派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
#include
#include
#include
#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照明灯,即可点灯,非常简单:、

25.jpg (117.99 KB, 下载次数: 0)

25.jpg
此帖出自stm32/stm8论坛

最新回复

  详情 回复 发表于 2018-12-20 14:40
点赞 关注(2)
 

回复
举报

6040

帖子

195

TA的资源

版主

沙发
 
这灯点的太亮了差点闪瞎我的眼
此帖出自stm32/stm8论坛
 
 

回复

1万

帖子

203

TA的资源

管理员

板凳
 
有种爆破的感觉
此帖出自stm32/stm8论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
 

回复

6107

帖子

4

TA的资源

版主

4
 
此帖出自stm32/stm8论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表