Java教程

毕业设计(二)

本文主要是介绍毕业设计(二),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录

1. UART配置

2. 蓝牙配置

3. 代码实现


1. UART配置

  树莓派提供两个串口外设,分别称为硬件串口和mini串口。硬件串口相对于mini串口有专用的时钟源,数据传输稳定可靠。树莓派默认将硬件串口连接到蓝牙模块,mini串口连接到排针TX/RX引脚。如果使用板载蓝牙不需要做修改。如果要使用外部串口设备需要进行端口映射对换。流程如下。(本设计使用板载蓝牙,未进行映射对换)

/* 1.关闭串口登录,使能硬件串口 */
pi@rasberrypi:~s sudo raspi-config
--3 Interface Options
----P6 Serial Port
------否 
--------是

/* 2.查看对换前的串口映射 */
pi@rasberrypi:~s ls -l /dev
serial0 -> ttyS0
serial1 -> ttyAMA0

/* 3.进行串口映射对换 */
pi@rasberrypi:~s sudo vim /boot/config.txt
添加:dtoverlay=pi3-disable-bt

/* 4.重启 */
pi@rasberrypi:~s sudo reboot

/* 5.查看对换后的串口映射 */
pi@rasberrypi:~s ls -l /dev
serial0 -> ttyAMA0
serial1 -> ttyS0

2. 蓝牙配置

/* 1.开启蓝牙设备 */
pi@rasberrypi:~s sudo apt-get update
pi@rasberrypi:~s sudo apt-get upgrade -y
pi@rasberrypi:~s sudo apt-get dist-upgrade -y
pi@rasberrypi:~s sudo apt-get install pi-bluetooth bluez bluez-firmware blueman
pi@rasberrypi:~s sudo /etc/init.d/bluetooth restart

/* 2.等待连接 */
pi@rasberrypi:~s sudo rfcomm watch hci0 

/* 3.连接成功 */
pi@rasberrypi:~s ls -l /dev
虚拟串口:rfcomm0

  手机端蓝牙软件推荐:

3. 代码实现

#include "bt.h"
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <fcntl.h>
#include <termios.h>
#include <errno.h>

int uartFd;

void BtInit()
{
    struct termios newtio;
    uartFd = open("/dev/rfcomm0", O_RDWR);
    tcgetattr(uartFd, &newtio);
    cfsetispeed(&newtio, B9600);
    cfsetospeed(&newtio, B9600);
}

void BtSend(char* buf, int len)
{
    write(uartFd, buf, len);
}

void BtReceive(char* buf, int len)
{
    read(uartFd, buf, len);
}

这篇关于毕业设计(二)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!