树莓派C语言开发

安装C语言编译器和开发工具

sudo apt update
sudo apt install build-essential

此命令会安装GCC编译器以及make等其他工具,这些都是C语言程序开发过程中必需的。

配置文本编辑器

树莓派默认安装了几个文本编辑器,如Nano和Vim。如果你对这些编辑器不熟悉,或者想寻找一个更友好的图形界面编辑器,可以考虑安装Geany或Code::Blocks。

我个人倾向于使用Geany,它轻量级,界面友好,支持多种编程语言,非常适合初学者。安装Geany非常简单:

sudo apt install geany

正常来说,树莓派桌面有自带的

编写一个简单的C程序

让我们从编写一个简单的C程序开始,该程序将打印“Hello, Raspberry Pi!”到终端。首先,打开你安装的文本编辑器,输入以下代码:

#include <stdio.h>int main() {printf("Hello, Raspberry Pi!\n");return 0;
}

保存文件为 hello_pi.c

编译和运行程序

保存你的C程序后,接下来需要编译它。打开终端,先导航到你保存文件的目录!!!,然后运行以下命令来编译程序:

gcc hello_pi.c -o hello_pi

这条命令会调用GCC来编译源文件hello_pi.c,并将输出文件(即可执行文件)命名为hello_pi

编译完成后,通过输入以下命令来运行程序:

./hello_pi

你将看到终端输出了Hello, Raspberry Pi!。成功

举下一个例子

建立led.c


#include <wiringPi.h>
#include <unistd.h>
#include <stdbool.h>
int main()
{
//初始化环境wiringPiSetup();
//设置PIN0为输出模式 对应于,wiringpi的图标号应该是0.这里特别注意pinMode(0,OUTPUT);while(true){sleep(1);
//写入高电平digitalWrite(0,HIGH);sleep(1);
//写入低电平digitalWrite(0,LOW);}}

编译等命令

gcc -Wall -lwiringPi -o blink led.c

执行

./led

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/10954.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何远程访问?

远程访问是指在不同的地理位置之间通过网络连接来实现对目标设备或系统的访问。无论是在个人生活还是商业领域&#xff0c;远程访问都起到了重要的作用&#xff0c;帮助人们实现高效的工作和便捷的生活。本文将介绍一款名为【天联】的组网产品&#xff0c;它是一款强大的异地组…

Linux与Windows互传文件【笔记】

Linux与Windows互传文件【笔记】 前言前言推荐Linux与Windows互传文件首先确保Windows安装ssh如何传送文件问题 最后 前言 这是陈旧已久的草稿2023-05-10 00:01:24 这个是准备把计组课程华为智能计组的&#xff0c;传输文件。 最后发现&#xff0c;好像没有实现了。 现在202…

汽车线控转向系统介绍

汽车线控转向系统由方向盘总成、转向执行总成和主控制器(ECU)三个主要部分以及自动防故障系统、电源等辅助系统组成。 线控转向系统(Steering-By-Wire)&#xff0c;取消了方向盘和转向车轮之间的机械连接部件&#xff0c;彻底摆脱了机械固件的限制&#xff0c;完全由电能来实现…

【LeetCode】数组——hashmap的妙用

在遇到一类题目时&#xff0c;通过双for循环也可暴力破解&#xff0c;但我们可以通过用hashmap来代替一次for循环节约时间开支&#xff0c;在算法上属于用空间换时间&#xff0c;也能帮助我们更好的理解hashmap这一种重要数据结构&#xff0c;并熟悉hashmap的重要方法。 1.两数…

31Windows精简系统下载推荐

Windows精简系统下载推荐 世界上有很多人在做Windows精简系统&#xff0c;去掉了他们认为不必要的功能和插件&#xff0c;达到了减小系统安装包体积&#xff0c;提升系统运行流畅度和稳定性的目的。 笔者推荐使用大佬不忘初心制作的精简版系统&#xff0c;最精简windows10系统安…

什么是数据平台——企业构建Data+AI的基础数据底座需要的决策参考

什么是数据平台 标准的解释是这样的 Wikipedia A data platform usually refers to a software platform used for collecting and managing data, and acting as a data delivery point for application and reporting software. 数据平台是指将各类数据进行整合、存储、处…

你知道C++多少——默认成员函数

&#x1f308;个人主页&#xff1a;小新_- &#x1f388;个人座右铭&#xff1a;“成功者不是从不失败的人&#xff0c;而是从不放弃的人&#xff01;”&#x1f388; &#x1f381;欢迎各位→点赞&#x1f44d; 收藏⭐️ 留言&#x1f4dd; &#x1f3c6;所属专栏&#xff1…

Python vs MATLAB:选择深度学习的首选编程语言

Python vs MATLAB&#xff1a;选择深度学习的首选编程语言 在深度学习领域&#xff0c;编程语言的选择对于初学者的学习路径和未来的职业发展至关重要。目前&#xff0c;Python和MATLAB都是进行科学计算和数据分析的流行工具&#xff0c;但它们在深度学习社区中的应用和受欢迎…

linux程序分析命令(一)

linux程序分析命令(一) **ldd&#xff1a;**用于打印共享库依赖。这个命令会显示出一个可执行文件所依赖的所有共享库&#xff08;动态链接库&#xff09;&#xff0c;这对于解决运行时库依赖问题非常有用。**nm&#xff1a;**用于列出对象文件的符号表。这个命令可以显示出定…

什么事防抖和节流,有什么区别,如何实现

防抖和节流&#xff0c;本质上是优化高频率执行代码的一种手段&#xff0c;比如&#xff1a;resize、scroll、keypress、mousemove这些事件在触发的时候&#xff0c;会不断调用绑定在事件上的回调函数&#xff0c;这样极大浪费资源&#xff0c;降低前端性能。 为了优化体验&am…

ipa 分区算法分析,图解

参考 Room Segmentation: Survey, Implementation, and Analysis. 分区算法调查&#xff0c;实现以及评估对比 相关论文 分区算法 New Brooms Sweep Clean - An Autonomous Robotic Cleaning Assistant for Professional Office Cleaning 形态分割 Interactive SLAM using …

函数原型(Function Prototype)、函数定义(Function Definition)和函数声明(Function Declaration)

函数原型&#xff08;Function Prototype&#xff09;、函数定义&#xff08;Function Definition&#xff09;和函数声明&#xff08;Function Declaration&#xff09;在C和C等编程语言中扮演着不同的角色&#xff0c;但它们有时在概念上可能会有些重叠。下面是它们之间的主要…

NOR FLASH介绍

参考 http://t.csdnimg.cn/gHcrG 一、NOR FLASH简介 XIP技术:https://blog.csdn.net/ffdia/article/details/87437872?fromshareblogdetail NOR Flash 和 NAND Flash 的特点和应用举例&#xff1a; NOR Flash&#xff1a; 特点&#xff1a; 支持随机访问&#xff0c;可以直接…

QT作业4

1、思维导图 2、使用定时器完成闹钟 头文件&#xff1a; #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QLineEdit> #include <QLabel> #include <QPushButton> #include <QTextEdit> #include <QDebug> #include <…

收集邮票C++题目【概率期望DP+数学推导】

题意 Description 有 n n n 种不同的邮票&#xff0c;皮皮想收集所有种类的邮票。唯一的收集方法是到同学凡凡那里购买&#xff0c;每次只能买一张&#xff0c;并且 买到的邮票究竟是 n n n 种邮票中的哪一种是等概率的&#xff0c;概率均为 1 n \frac{1}{n} n1​。但是由…

【elasticsearch】慢查询替代查询审计的尝试

【elasticsearch】慢查询替代查询审计的尝试 使用了es有两年了&#xff0c;突然发现一个&#xff0c;es没有查询审计日志&#xff0c;某个用户查询了某个索引的审计。 找了官方文档和社区的回复都是说使用slow log替代慢查询。 尝试一下。 参考链接1&#xff1a;https://discus…

Py深度学习基础|关于Batch Normalization

1. 为什么需要Batch Normalization 通常我们会在输入层进行数据的标准化处理&#xff0c;这是为了让模型学习到更好的特征。同样&#xff0c;在模型的中间层我们也可以进行normalize。在神经网络中, 数据分布对训练会产生影响。 比如我们使用tanh作为激活函数&#xff0c;当输入…

Baidu Comate智能编码助手:AI编程时代提升效率的好帮手

目录 写在前面一、如何安装二、如何使用场景需求体验步骤 三、AI 编程实战指令功能插件功能知识库功能 四、问题建议五、体验总结&#x1f680;写在最后 写在前面 Baidu Comate 是基于文心大模型的 AI编程工具&#xff0c;它结合百度积累多年的编程现场大数据和外部优秀开源数据…

MySQL中的多表查询

数据库设计范式(范例) 好的数据库设计&#xff0c;事倍功半&#xff0c;不会有歧义 第一范式&#xff1a;列保证原子性&#xff08;列不可再分解&#xff09; 联系方式&#xff1a;电话&#xff0c;微信&#xff0c;QQ&#xff0c;邮箱 这些都不可分解 第二范式&#xff1a;要…

annaconda详细解读换源文件

annaconda换源详细解读文件 annaconda换源详细解读文件 annaconda换源详细解读文件 #踩坑/annaconda换源详细解读通道问题 如何准确使用国内源高效安装GPU版本的Pytorch - 知乎 文件中的custom通道&#xff0c;需要自己手动添加到默认通道里面&#xff0c;记得后面更上/包名…