前言
wiringPi 使用
Sourceinsight 使用
一、wiringPi使用 1. IO口使用
包含头文件,编译时要加wiringPi库
#include
初始化树莓派
int wiringPiSetup (void) //成功返回0 ,失败返回-1 用此函数初始化时使用的是wPi引脚表 int wiringPiSetupGpio (void) //成功返回0 ,失败返回-1 用此函数初始化时使用的是BCM引脚表
配置引脚的IO模式
void pinMode (int pin, int mode) //pin配置的引脚 //mode指定引脚的模式,可选:INPUT、OUTPUT、PWM_OUTPUT,GPIO_CLOCK //只有wPi下的1脚支持PWM,wPi下的7脚支持时钟
对配置为输出模式的引脚 输出指定电平信号
void digitalWrite (int pin, int value) //value:引脚输出的电平值。可选:HIGH,LOW
对配置为输出模式的引脚 读取其电平信号
int digitalRead (int pin) //返回引脚上的电平
时间控制函数
void delay (unsigned int howLong) //毫秒 void delayMicroseconds (unsigned int howLong) //微秒
linux下时间函数
#include2.串口通信struct timeval { time_t tv_sec; suseconds_t tv_usec; }; int gettimeofday(struct timeval *tv, struct timezone *tz); //tv保存当前的时间,从UTC时间1970年1月1日 00:00:00算起,达到微妙级别,tz已废弃,传入NULL即可
初次使用树莓派串口,需要配置
>cd /boot/ >sudo vim cmdline.txt
删除【】之间部分
dwc_otg.lpm_enable=0 【console=ttyAMA0,115200】 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
串口通信
int serialOpen (char *device, int baud) //成功返回文件描述符fd,失败返回-1 //device为串口地址,一般为"/dev/ttyAMA0" //baud:波特率 void serialPutchar (int fd, unsigned char c) //写入一个字符 void serialPuts (int fd, char *s) //写入字符串 int serialDataAvail (int fd) //缓冲区可读取的字节数 int serialGetchar (int fd) //读取一个字符。返回读取到的字符 //如果串口缓存中没有可用的数据,则会等待10秒,如果10后还没有, //返回-1,所以读取之前用serialDataAvail判断一下
#include二.Sourceinsight*size_t write (int fd,const void * buf,size_t count) //发送量大时用此函数 *size_t read(int fd,void * buf ,size_t count) //接受量大时用此函数
Sourceinsight 创建项目时在代码处先创建一个文件夹,然后将Sourceinsight的储存文件放到此路径下,路径不要太长,否则会闪退
项目同步,将所有的代码都联系起来: project ->Synchronize Files
按住ctrl,光标变为手指,查看变量函数名出现的地方
选中代码 ctrl + / 寻找代码出现的过的地方
总结
1.查看树莓派引脚,终端输入(安装wiringPi库之后)
gpio readall
安装是否成功
gpio -v
2.gcc和cc:
cc是Unix的C编译器,全程为c compiler,而gcc为Linux的,全称为GNU compiler collection,是一个编译器集合,既可以编译c也可以编译c++。
在Linux里面,cc最终会指向gcc,两者是一样的。
gcc和g++:
后缀为.c的,gcc把它当作是C程序,而g++当作是c++程序;后缀为.cpp的,两者都会认为是c++程序。
两者都可以编译c和c++代码。gcc命令不能自动和C++程序使用的库联接,所以通常用g++来完成链接,为了统一起见,干脆编译/链接统统用g++了。
3.vim自动对齐:命令行模式下:gg(光标移动到首位) = G
4.apt和apt-get区别:
apt = apt-get、apt-cache 和 apt-config 中最常用命令选项的集合,推荐使用 apt。
5.单双工,半双工,全双工:
单双共:单工数据传输只支持数据在一个方向上传输,不能实现双方的通信
半双工:单工数据传输只支持 数据在一个方向上传输,但在同一时刻,只允许数据在一个方向上传输
全双工:允许数据同时在两个方向上传输
6.串口通信两大因素:数据格式,包括数据位,停止位,奇偶校验位;波特率
7.find查找文件: find ~ -name ‘demo1.c’



