概述
输煤派要使用uart与外界通信。
那么需要先使用树莓派上面的GPIO口。
所以我们需要先了解GPIO口的分布情况。
细心的童鞋可能已经看出来了。对我们使用的第三方库就是wirningPi。
拿到的树莓派如何安装wirningPi库呢? ---等会写一个安装wirningPi库的教程?
由上图可以看出,我们使用的引脚是wirningPi的15/16脚分别作为Tx/Rx(当然也要连GND)。
然后上代码 uart.cpp :
#include "uart.h"
//#include "keystone.h"
int serial_fd;
void serial_Init(void)
{
if(wiringPiSetup() < 0)
printf("wiringPiSetup ERR!!!n");
if((serial_fd = serialOpen("/dev/ttyAMA0", BAUDRATE)) < 0) //
printf("serial ERR!!!n");
}
void serial_SendData(unsigned char p)
{
//serialPuts(serial_fd, p);
serialPutchar(serial_fd, p);
}
//--------------------------------------------//
char str[50]={};
int count = 0;
char* serial_ReceiveData(void)
{
// int serial_fd;
int re;
// if(wiringPiSetup() < 0)
// printf("wiringPiSetup ERR!!!n");
// if( (serial_fd = serialOpen("/dev/ttyAMA0", BAUDRATE)) < 0) //
// printf("serial ERR!!!n");
re = serialDataAvail(serial_fd);
if( re <= 0)
{
serialFlush(serial_fd);
return str;
}
else
{
// uart_chk = 1;
for(int j = 0; j < 50; j++)
{
str[j] = serialGetchar(serial_fd);
if(str[j] == '