第五课:树莓派C语言编程手册

第一课:什么是树莓派
第二课:基于树莓派的10个经典项目
第三课:购买您的第一个树莓派
第四课:如何安装树莓派系统

树莓派C语言编程手册,就是wiringPi这套库函数,对初学者来说,常用的也就不到10个函数,所以树莓派编程非常简单,这里先说说什么是wiringPi。

wiringPi

wire是连线的意思,wireless是无线的意思,wiring可以译作正在连线,Pi就是树莓派,wiringPi在这里是树莓派的一个C语言函数库,用于控制树莓派GPIO口。
WiringPi遵守GNU Lv3。wiringPi使用C或者C++开发并且可以被其他语言包转,例如python、ruby或者PHP等。
WiringPi中的函数类似于Arduino的wiring系统,这使得熟悉arduino的用户使用wringPi更为方便。
树莓派具有26个普通输入和输出引脚。在这26个引脚中具有8个普通输入和输出管脚,这8个引脚既可以作为输入管脚也可以作为输出管脚。
除此之外,树莓派还有一个2线形式的I2C、一个4线形式的SPI和一个UART接口。树莓派上的I2C和SPI接口也可以作为普通端口使用。如果串口控制台被关闭便可以使用树莓派上的UART功能。如果不使用I2C,SPI和UART等复用接口,那么树莓派总共具有8+2+5+2 =17个普通IO。
wiringPi包括一套gpio控制命令,使用gpio命令可以控制树莓派GPIO管脚。用户可以利用gpio命令通过shell脚本控制或查询GPIO管脚。wiringPi是可以扩展的,可以利用wiringPi的内部模块扩展模拟量输入芯片,可以使用MCP23x17/MCP23x08(I2C 或者SPI)扩展GPIO接口。另外可通过树莓派上的串口和Atmega(例如arduino等)扩展更多的GPIO功能。另外,用户可以自己编写扩展模块并把自定义的扩展模块集成到wiringPi中。WiringPi支持模拟量的读取和设置功能,不过在树莓派上并没有模拟量设备。但是使用WiringPi中的软件模块却可以轻松地应用AD或DA芯片。

wiringPi安装

http://wiringpi.com/官网
之所以贴出官网主要这种图,是因为我觉得这张图像是中国长城拍的,你们说像吗?感觉作者也是一个不怎么注意外表的一个人,在自己主页上放了这样一张图
你可以通过两种方式安装该套库函数
方式一:命令安装
sudo apt-get install wiringpi
你只需在树莓派命令行,执行上面代码就行了;这种安装方式的弊端是看不到源码,但是不影响你使用里面的函数。
方式二:源码安装
git clone git://git.drogon.net/wiringPi
在树莓派命令行执行上述命令
或者
https://git.drogon.net/?p=wiringPi;a=summary
手工到上面的连接中下载
但是——源码安装从2019年作者不给予支持,其中原因参考我另一个博客
为什么获取不到wiringPi源码

测试wiringPi是否安装成功

测试wiringPi是否安装成功
wiringPi包括一套gpio命令,使用gpio命令可以控制树莓派上的各种接口,通过以下指令可以测试wiringPi是否安装成功。
gpio -v
在这里插入图片描述
可以看到树莓派的基本信息:树莓派 3 版本2,内存1G。
使用gpio readall命令来查看所有管脚的基本信息
在这里插入图片描述

wiringPi常用函数

硬件初始化函数
在这里插入图片描述
通用GPIO控制函数
在这里插入图片描述

什么是引脚编号(BCM,wiringPi)

下面这张图是树莓派实验室做的,感谢他们的制作
https://shumeipai.nxez.com/tag/树莓派
这张图是我们写程序的时候经常要用的
在这里插入图片描述
物理引脚
中间的物理引脚,就是我们实物上看到那那一排引脚:
左边第一脚,右边第2脚
功能名称
就是对引脚的说明,第1脚是3.3V,第2脚是5.0V等等,看名字就知道。
BCM编码和wiringPi编码
BCM编码一般用于python,当然不是说C语言不能用,只是习惯而已,API函数中的硬件初始化函数就可以设置
wiringPiSetup--------------------设置wiringPi编码模式
wiringPiSetupGpio------------------------设置BCM编码模式
BCM编码和wiringPi编码的区别
这两种编码仅仅是引脚编号不同而已,如果你使用BCM编码,那么在使用GPIO.1的时候,在代码中就应该使用18号引脚,也即在使用pinMode这些函数的时候,第一个参数就应该传18;
如果使用wiringPi编码模式,那么GPIO.1就应该传1。

具体的用法,我们后面在编程的过程中再细讲…
end.
第一课:什么是树莓派
第二课:基于树莓派的10个经典项目
第三课:购买您的第一个树莓派
第四课:如何安装树莓派系统

猜你喜欢

转载自blog.csdn.net/qq_27320195/article/details/107167737