栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

wiringPi和Sourceinsight

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

wiringPi和Sourceinsight


前言

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下时间函数

#include 
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即可
2.串口通信

初次使用树莓派串口,需要配置

>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 
*size_t write (int fd,const void * buf,size_t count) //发送量大时用此函数
*size_t read(int fd,void * buf ,size_t count) //接受量大时用此函数
二.Sourceinsight

  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’

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/867644.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号