linux 串口 loopback,友善NanoPC T2 4418开发板Linux下串口回环测试 -申嵌
注意事项:friendlycore系统下 UART3 对应的设备文件名是 /dev/ttyAMA3
实验目的:实现串口回环测试,即:自己给自己发数据,然后自己接收到自己发送的内容。
实验内容:
1. 使用杜邦线短接管脚11和12, 对应的是UART3_TX和UART3_RX。
然后呢,我们连接NanoPC T2,写一个程序循环读取串口数据,并打印到屏幕上。
read.c代码如下:
#include
#include
#include
#include
int main()
{
int fd = -1;
fd = open("/dev/ttyAMA3", O_RDWR | O_NOCTTY | O_NDELAY);
if (fd == -1)
{
perror("Open Serial Port Error!\n");
return -1;
}
struct termios options;
tcgetattr(fd, &options);
//115200, 8N1
options.c_cflag = B115200 | CS8 | CLOCAL | CREAD;
options.c_iflag = IGNPAR;
options.c_oflag = 0;
options.c_lflag = 0;
options.c_cc[VTIME]=0;
options.c_cc[VMIN]=1;
tcflush(fd, TCIFLUSH);
tcsetattr(fd, TCSANOW, &options);
unsigned char rx_buffer[256];
while(1){
int rx_length = read(fd, (void*)rx_buffer, 255);
if (rx_length > 0)
{
//Bytes received
rx_buffer[rx_length] = '\0';
printf("%i bytes read : %s\n", rx_length, rx_buffer);
}
}
close(fd);
return 0;
}
2. 在NanoPC T2 的Debug端口座接上USB转TTL调试小板,打开putty调试软件,依次设置serial, 115200, 8-N-1
T2开机运行friendlycore系统,
新建read.c源文件: vi read.c
然后将代码敲进去,或者复制进去,保存退出。
编译:
pi@NanoPC-T2:~$ gcc read.c -o read
运行:
pi@NanoPC-T2:~$ ./read
Open Serial Port Error!
: Permission denied
提示权限不够
pi@NanoPC-T2:~$ sudo ./read
[sudo] password for pi: 输入pi用户的密码,输入pi回车
,则read程序开始运行,等待接收UART3传输过来的数据。
3. 由于串口是独占设备,所以我们再重新运行一次putty,这次协议为SSH, 输入T2的IP地址(可以提前从上面的串口终端查看IP地址:ifconfig eth0)
在SSH端口输入:
root@NanoPC-T2:~# echo hello > /dev/ttyAMA3
也就是将字符串"hello"发送给UART3
这个时候,另外一个putty窗口将立即收到这个字符串:
pi@NanoPC-T2:~$ sudo ./read
6 bytes read : hello
NanoPC T2应用范围广泛,下面列出目前最热门的几大领域:
举报/反馈
linux 串口 loopback,友善NanoPC T2 4418开发板Linux下串口回环测试 -申嵌相关推荐
- Linux移植:正点原子阿尔法IMX6ULL开发板Linux内核源码移植详细步骤(4.1.15版本内核)
Linux移植:正点原子阿尔法IMX6ULL开发板Linux内核源码移植详细步骤(4.1.15版本内核) 文章目录 Linux移植:正点原子阿尔法IMX6ULL开发板Linux内核源码移植详细步骤(4 ...
- 迅为4418开发板Linux系统修改和固定MAC地址
本文介绍如何修改 Qt 系统的 MAC 等网络参数,Qt 系统的修改方法和根文件系统一模一样,可以通用. 在将 Qt 系统或者根文件系统烧写到开发板之后,启动开发板,如下图所示,只需要修改这个配置文件 ...
- a33 linux 硬解码_全志A33 lichee 开发板 Linux中断编程原理说明
开发平台 * 芯灵思SinlinxA33开发板 嵌入式linux 开发板交流 641395230 本节实验目标实现按键触发中断终端显示按键松开或按下 实验平台 芯灵思Sinlinx A33 开发板 s ...
- NUC980开发板Linux系统EC20模块 移植 串口 PPP拨号
NUC980开发板Linux系统EC20模块 移植 串口 PPP拨号 1. EC20模块连接 2. Linux内核配置 3. 交叉编译PPP 4. 拨号脚本 5. 进行拨号 1. EC20模块连接 在 ...
- linux中使用串口(dnw)下载程序到jz2440开发板
对于大多数使用韦东山jz2440开发板的用户来说,使用OpenJTAG或EasyOpenJTAG是非常方便的,并且视频教程中也是用这两种 来教学的,对于没有OpenJTAG. EasyOpenJTAG ...
- imx6 linux 开发环境,米尔iMX6UL开发板Linux操作系统的环境部署
硬件:米尔i.MX6UL开发板MYD-Y6ULX 简介:MYD-Y6ULX开发板(i.MX6UL开发板)由MYC-Y6ULX核心板和底板组成,基于NXP i.MX6UL处理器或i.MX6ULL处理器可 ...
- 迅为IMX6ULL开发板Linux学习教程
1800+页使用手册(持续更新)+入门视频教程+实战视频教程 关注VX公众号:迅为电子 , 回复 :终结者,免费获取产品资料 让教程更细致,终结入门难! 所有教程由迅为原创,是迅为工作多年的工程师 ...
- 玩转开发板--Linux系统移植至开发板fl2440实践过程
一.开发板介绍 CPU:S3C2440(SAMSUNG).ARM920T.400MHz Pone/mic:耳机和话筒 JTAG:可以通过外部插入直接控制CPU,因此在初始化内存时,起到 ...
- 迅为4418开发板邮票孔与连接器版本区别
迅为4418开发板邮票孔与连接器版本区别 连接器版本 邮票孔版本 核心板类型 板对板连接器 邮票孔 尺寸 50mm*60mm PCB层数 6层PCB沉金设计 8层PCB沉金设计 高度 核心板连接器组合 ...
最新文章
- 【经验】网络加速:pip
- [分享] 从定制Win7母盘到封装详细教程 By BILL ( 10月23日补充说明 )
- 动态链接库DLL与静态链接库LIB
- Java计算多线程运行时间的简单方式
- 直播预告:基于强化学习的关系抽取和文本分类 | PhD Talk #18
- 关于python直接用列表名复制的一些问题 以及 python 子串查找
- 白鹭引擎生成自定义整数随机数
- yarn报错:error An unexpected error occurred: “https://registry.yarnpkg.com/-/user/org.couchdb。。。
- 批量替换_【脚本】AE照片墙模板图片批量替换脚本Multi Replacer
- java itext 里表格_Java解析PDF里的表格内容
- kali安装python3.8_kali2019.4试用记录
- 吉林省等保测评机构项目测评收费价格标准参考
- hdu 3932 Groundhog Build Home
- android 闪光灯程序,如何在Android中以编程方式打开前闪光灯?
- 移动端键盘弹出后,导致背景图片上移解决方法(MUI)
- 论文管理工具:Zotero使用心得
- 问题:启动tomcat报找不到JAVA_HOME或者JRE_HOME环境变量的问题
- STM32MP157高性能微处理器产品介绍
- 霸面拿腾讯offer面经
- 零基础可以学习PLC自动化吗?从哪里入手学习PLC自动化,自动化编程用到什么编程软件呢?凭良学校-西门子S7-200/SMART 200 PLC编程自动化应用培训