注意事项: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下串口回环测试 -申嵌相关推荐

  1. Linux移植:正点原子阿尔法IMX6ULL开发板Linux内核源码移植详细步骤(4.1.15版本内核)

    Linux移植:正点原子阿尔法IMX6ULL开发板Linux内核源码移植详细步骤(4.1.15版本内核) 文章目录 Linux移植:正点原子阿尔法IMX6ULL开发板Linux内核源码移植详细步骤(4 ...

  2. 迅为4418开发板Linux系统修改和固定MAC地址

    本文介绍如何修改 Qt 系统的 MAC 等网络参数,Qt 系统的修改方法和根文件系统一模一样,可以通用. 在将 Qt 系统或者根文件系统烧写到开发板之后,启动开发板,如下图所示,只需要修改这个配置文件 ...

  3. a33 linux 硬解码_全志A33 lichee 开发板 Linux中断编程原理说明

    开发平台 * 芯灵思SinlinxA33开发板 嵌入式linux 开发板交流 641395230 本节实验目标实现按键触发中断终端显示按键松开或按下 实验平台 芯灵思Sinlinx A33 开发板 s ...

  4. NUC980开发板Linux系统EC20模块 移植 串口 PPP拨号

    NUC980开发板Linux系统EC20模块 移植 串口 PPP拨号 1. EC20模块连接 2. Linux内核配置 3. 交叉编译PPP 4. 拨号脚本 5. 进行拨号 1. EC20模块连接 在 ...

  5. linux中使用串口(dnw)下载程序到jz2440开发板

    对于大多数使用韦东山jz2440开发板的用户来说,使用OpenJTAG或EasyOpenJTAG是非常方便的,并且视频教程中也是用这两种 来教学的,对于没有OpenJTAG. EasyOpenJTAG ...

  6. imx6 linux 开发环境,米尔iMX6UL开发板Linux操作系统的环境部署

    硬件:米尔i.MX6UL开发板MYD-Y6ULX 简介:MYD-Y6ULX开发板(i.MX6UL开发板)由MYC-Y6ULX核心板和底板组成,基于NXP i.MX6UL处理器或i.MX6ULL处理器可 ...

  7. 迅为IMX6ULL开发板Linux学习教程

    1800+页使用手册(持续更新)+入门视频教程+实战视频教程 关注VX公众号:迅为电子 ,  回复 :终结者,免费获取产品资料  让教程更细致,终结入门难! 所有教程由迅为原创,是迅为工作多年的工程师 ...

  8. 玩转开发板--Linux系统移植至开发板fl2440实践过程

    一.开发板介绍     CPU:S3C2440(SAMSUNG).ARM920T.400MHz     Pone/mic:耳机和话筒 JTAG:可以通过外部插入直接控制CPU,因此在初始化内存时,起到 ...

  9. 迅为4418开发板邮票孔与连接器版本区别

    迅为4418开发板邮票孔与连接器版本区别 连接器版本 邮票孔版本 核心板类型 板对板连接器 邮票孔 尺寸 50mm*60mm PCB层数 6层PCB沉金设计 8层PCB沉金设计 高度 核心板连接器组合 ...

最新文章

  1. 【经验】网络加速:pip
  2. [分享] 从定制Win7母盘到封装详细教程 By BILL ( 10月23日补充说明 )
  3. 动态链接库DLL与静态链接库LIB
  4. Java计算多线程运行时间的简单方式
  5. 直播预告:基于强化学习的关系抽取和文本分类 | PhD Talk #18
  6. 关于python直接用列表名复制的一些问题 以及 python 子串查找
  7. 白鹭引擎生成自定义整数随机数
  8. yarn报错:error An unexpected error occurred: “https://registry.yarnpkg.com/-/user/org.couchdb。。。
  9. 批量替换_【脚本】AE照片墙模板图片批量替换脚本Multi Replacer
  10. java itext 里表格_Java解析PDF里的表格内容
  11. kali安装python3.8_kali2019.4试用记录
  12. 吉林省等保测评机构项目测评收费价格标准参考
  13. hdu 3932 Groundhog Build Home
  14. android 闪光灯程序,如何在Android中以编程方式打开前闪光灯?
  15. 移动端键盘弹出后,导致背景图片上移解决方法(MUI)
  16. 论文管理工具:Zotero使用心得
  17. 问题:启动tomcat报找不到JAVA_HOME或者JRE_HOME环境变量的问题
  18. STM32MP157高性能微处理器产品介绍
  19. 霸面拿腾讯offer面经
  20. 零基础可以学习PLC自动化吗?从哪里入手学习PLC自动化,自动化编程用到什么编程软件呢?凭良学校-西门子S7-200/SMART 200 PLC编程自动化应用培训

热门文章

  1. 基于Python+Bootstrap+Django的移动套餐SQL智能检测系统
  2. 爬虫训练场项目,1小时掌握 Bootstrap 网格系统
  3. 广西职称英语计算机考试,广西职称英语考试官方网站:广西省人事考试网
  4. css为何要清除浮动及清除浮动的方法
  5. Java 时间戳转换为日期格式
  6. PostgreSQL被除数为0处理方法
  7. HarmonyOS ArkUI开发教程之 01 什么是ArkUI 与Flutter SwiftUI有什么区别
  8. T-SQL 基础学习 01
  9. 状态机控制移位寄存器multisim仿真过程中出现的状态变量和状态转移条件不匹配的问题
  10. Google黑客语法总结