转载:http://ukonline2000.com/?p=880 最新64位树莓派3已经发布快两周了,玩家们陆陆续续也开始使用上树莓派3了,随着玩家的增多,虽然拥有强大硬件配置的树莓派3也出现了各种各样的BUG,官方也在对这些BUG进行修复中.今天要说说树莓派3的UART串口的使用问题,该串口问题的官方反馈及回复请参考这两篇官方博文“https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=137932”和“https://www.rasp…
树莓派中QT实现串口通讯 开发平台为QT 此博客QT使用的为WiringPi驱动 我使用的串口调试助手为 cutecom 先简单说一些开发过程中需要注意的问题 Linux 下设备为 tty ,对应在 windows 下为 COM ttyS0 与 ttyUSB0 不是一个东西 raspi-config 中, serial 应该被打开, 但是 Serial Console 不应该被打开,除非你想要用 Serial Console 去作为终端来控制树莓派 默认pin8,10 是作为 Serial1 分…
主函数请直接关注41行到47行代码!! #include "stm32f10x.h" // 相当于51单片机中的 #include <reg51.h> #include "stm32f10x_gpio.h" #include "stm32f10x_usart.h" #include "led.h" #include "key.h" #include "key interrupt.h&q…
1 前言 STM32有强大的固件库,绝大部分函数都可以有库里面的函数组合编写.固件库可以到ST官网(www.st.com)上下载,也可以搜索“STM32 固件库 v3.5”下载到固件库.本文章就是基于固件库来编写有关串口的输入输出函数.由于博主的知识水平有限,目前仅仅是将程序的思路和实现给出,具体到函数的执行效率.代码的简化方面未进行深入探讨.如果有兴趣的同学可以联系我,我们可以一起探讨一下. 2 STM32固件库 有关固件库的详细介绍,在emouse 思·睿 技术博客里有较为详细的解释(详见h…
也是使用HAL库进行配置,通过STMCube生成代码,可以通过这个简单的配置过程看到STMCube生成代码的一种规范: 从main函数入手观察其外设配置结构: 首先是HAL_Init()进行所有外设的复位.初始化Flash接口和SysTick时钟: 其次是对时钟系统(外接晶振.SYSCLK.外设时钟)的配置SystemClock_Config(): 接下来是外设的配置,由于所用的GPIO都是用UART,因此MX_GPIO_Init()中配置GPIO时钟,MX_USART3_UART_Init()…
STM32 的 USART 简介 通用同步异步收发器(Universal Synchronous Asynchronous Receiver and Transmitter)是一个串行通信设备,可以灵活地与外部设备进行全双工数据交换.有别于 USART 还有一个 UART(Universal Asynchronous Receiver and Transmitter),它是在 USART 基础上裁剪掉了同步通信功能,只有异步通信.简单区分同步和异步就是看通信时需不需要对外提供时钟输出,我们平时用…
一.GPIO设置USART的初始化 /**************************实现函数******************************************** *函数原型: void USART_Config(void) *功 能: 初始化串口1,PA9,PA10 *输入参数: 无 *输出参数: 无 *******************************************************************************/ void…
硬件:stm32f103cbt6 软件:STM32F10x_StdPeriph_Lib_V3.5.0 文章目录 头文件 USART3_DR的地址 DMA的通道 DMA的中断 USART接收回调函数 头文件源码 DMA的基本配置 环形队列接收数据 函数原型 参考用例 DMA,直接内存存取,类似用它的双手释放CPU的灵魂,所以,本文通过USART3进行串口收发,接受使用DMA的方式,无需CPU进行干预,当接受完成之后,数据可以直接从内存的缓冲区读取,从而减少了CPU的压力. 具体的代码实现如下: u…
通用同步异步收发器(USART)提供了一种灵活的方法来与使用工业标准NR 异步串行数据格式的外部设备之间进行全双工数据交换. USART利用分数波特率发生器提供宽范围的波特率选择,支持同步单向通信和半双工单线通信. 1.STM32固件库使用外围设备的主要思路 在STM32中,外围设备的配置思路比较固定.首先是使能相关的时钟,一方面是设备本身的时钟,另一方面如果设备通过IO口输出还需要使能IO口的时钟:最后如果对应的IO口是复用功能的IO口,则还必须使能AFIO的时钟. 其次是配置GPIO,GPI…
流控的概念源于 RS232 这个标准,在 RS232 标准里面包含了串口.流控的定义.大家一定了解,RS232 中的"RS"是Recommend Standard 的缩写,即"推荐标准"之意,它并不像 IEEE-1284.IEEE-1394 等标准,是由"委员会定制".因而,不同的厂商在做 RS232 时,多少会有不同,流控也都会存在差异.以下我们与大家一起探讨流控的作用.搭建及如何操作. 本文着重探讨硬件流控. 为什么需要流控? 数据在两个串口…
avr串口配置很简单,配置就几个寄存器就可以进收发: 但有几点要搞明白的是: 1.串口一但被配置成功IO功能自动被占用,这点与LPC或STM8/32不同(需要寄存配置): 2.没有专门的串口开起或闭关功位(整个串口): 3.读写控制寄存器C需要把URSEL位写成1,而读写UBRRH寄存器时须要URSEL写成0: 1: //晶振频率 2: #define F_CPU 6000000UL 3: //波特率 4: #define BAUD 9600 5:  6: //M8串口1初始化 7: void…
物理层:规定通讯系统中具有机械.电子功能部分的特性,确保原始数据在物理媒体的传输.其实就是硬件部分. 协议层:协议层主要规定通讯逻辑,统一收发双方的数据打包.解包标准.其实就是软件部分. 简单来说物理层规定我们用嘴巴还是用肢体来交流,协议层则规定我们用中文还是英文来交流. 物理层 RS232标准 USB转串口(TTL) 原生的串口到串口(TTL->TTL) RS-232 与 TTL 电平区别 TTL:一般是直接从单片机或者芯片里面出来的电平,逻辑1为2.4V-5V逻辑0为0-0.5v(一般高电平…
使用minicom连接bash$ lsusbBus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hubBus 001 Device 004: ID 04f2:b5c0 Chicony Electronics Co., LtdBus 001 Device 003: ID 0cf3:e500 Atheros Communications, Inc.Bus 001 Device 014: ID 0525:a4a7 Netchip Tec…
串口是计算机上一种很通用设备通信的协议,经常使用PC机上包括的是RS232规格的串口,具有连接线少,通讯简单,得到广泛的使用. Linux对全部设备的訪问是通过设备文件来进行的,串口也是这样,为了訪问串口,仅仅需打开其设备文件就可以操作串口设备.在linux系统以下,每个串口设备都有设备文件与其关联,设备文件位于系统的/dev文件夹以下.如linux下的/ttyS0,/ttyS1分别表示的是串口1和串口2. 树莓派UARTport的位置:见下图的GPIO14(TXD).GPIO 15(RXD)…
在开发过程中,需要用一个树莓派链接多个串口转USB设备(GPS模块,数传模块等),在树莓派linux系统环境下,USB串口设备的命名规则是 /dev/ttyUSB0 ,/dev/ttyUSB1,/dev/ttyUSB2.串口设备的命名规则一般是根据设备插拔顺序进行命名,第一个插入的USB串口设备名称为/dev/ttyUSB0,第二个名称为 /dev/ttyUSB1,以此类推,但是在实验环境中,往往会发生USB设备插拔情况,从而导致串口设备命名混乱,为此,需要对串口设备进行名称绑定,固定串口设备名…
树莓派3B+默认串口不能登录,即使可使用可需要通过连线方式连接,如何才能直接通过网络ssh登录树莓派呢? 串口问题及使用 树莓派3的UART串口的使用问题,该串口问题的官方反馈及回复请参考这两篇官方博文“https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=137932”和“https://www.raspberrypi.org/forums/viewtopic.php?f=107&t=138223” 根据官方的反馈和回复,我们了解…
Adafruit的树莓派教程第五课:使用控制电缆 时间 2014-05-09 01:11:20 极客范 原文 http://www.geekfan.net/9095/ 主题 Raspberry PiMacOSLinux 本文由极客范-Boyd Wang翻译自 Adafruit.com .欢迎加入 极客翻译小组 ,同我们一道翻译与分享.转载请参见文章末尾处的要求. 概览 这节课你将学习到如何使用控制电缆控制你的树莓派. 用这种方式连接的一大好处是它可以直接为小派供电并且你也不需要连接键盘鼠标或显示…
当亲爱的树莓派没有显示器时如何控制它?对,就是ssh,但是ssh需要IP地址啊,树莓派的IP地址是多少?这个问题问的好,目前大约有这样几种解决方案:. 获取到IP地址后将地址发到邮箱:前提是树莓派能上网 通过串口连接树莓派后查看IP地址:需要USB转串口设备,还要连线,小白用户表示鸭梨山大 从路由器上查看:如果没有路由器或者没法登上路由器咋办? 固定IP地址:假设换到别的网络,网段不一样咋办?地址冲突咋办? 通过某些工具扫描整个网段:你确定能扫出来吗? 一个一个尝试:如果是A类IP岂不泪奔? 所…
摘要 通过前面一系列的铺垫,相信大家对整个miiboo机器人的DIY有了一个清晰整体的认识.接下来就正式进入机器人大脑(嵌入式主板:树莓派3)的开发.本章将从树莓派3的开发环境搭建入手,为后续ros开发.slam导航及语音交互算法做准备.本章内容: 1.安装系统ubuntu_mate_16.04 2.安装ros-kinetic 3.装机后一些实用软件安装和系统设置 4.PC端与robot端ROS网络通信 5.Android手机端与robot端ROS网络通信 6.树莓派USB与tty串口号绑定 7…
我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] 本文介绍X-CTR100控制器与树莓派Linux系统组成机器人平台.首先介绍与树莓派串口通信,后介绍机器人平台搭建.这种上下位机平台架构常用于机器人ROS系统开发中.最后介绍了Linux机器人开发中常用的软件工具,意在抛砖引玉. 环境搭建 本文使用树莓派硬件版本为3B+,GPIO扩展接口具有1路串口,可以与X-CTR100控制器通信. 组成强大的上下…
串口通讯目录 物理层 协议层 USART简介 开发板与上位机的连接 代码讲解: 一.初始化结构体 二.NVIC配置中断优先级 三.USART配置函数讲解 四.传输数据的函数: 1.发送一个字节 2.发送字符串 3.重定向printf函数发送字符串 4.重定向getchar函数接收字符 5.通过中断接收 结语 串口通讯(Serial Communication)是一种设备间非常常用的串行通讯方式,因为它简单便捷,因此大部分电子设备都支持该通讯方式,其通讯协议可分层为协议层和物理层.物理层规定通信协…
硬件:STM32F103C8T6 平台:Keil ARM-MDk V5.11 利用printf函数通过串口(USART)进行调试时遇到的一个问题: printf("Hello, Mini-M3"); 本意是想输出"Hello, Mini-M3",但是通过串口调试助手,得到的输出是"ello, Mini-M3",也就是第一个数据没有接收到,而且这种情况只会在初始化USART后第一次 发送数据时出现. USART发送数据的代码如下: int fput…
何为树莓派 许久没有写博客了,十二月份西安疫情的影响,居家隔离了一个多月,在其期间,学习了一下树莓派,觉得硬件还是挺有意思的,刚好也看到了巨硬有提供使用c#用来开发树莓派应用的解决方案叫Net Iot,就自己买了一个树莓派入手,尝试用c#去控制树莓派的各个引脚,当然,Net Iot不仅仅支持树莓派一个开发板,同时支持Arduino开发板,以及香橙派,荔枝派,不过目前只是入手了树莓派,所以此处以及后续开发板会以树莓派为主,后面可能也会出乐鑫ESP32单片机的入门教程,接下来我们了解一下什么是树莓派…
关于升级到Debian最新稳定版jessie,作者是这样说的:一旦官方Raspbian升级到Jessie,DietPi也会随之切换到Jessie.由于改动较大,很多功能需要修改后才能正常使用,到时候可能会发布一个新版的DietPi镜像.在此之前,建议继续使用wheezy版.我自己从dietpi里使用apt-get dist-upgrade命令可以升级,但是systemd更新失败. 因为之前安装rpi-source编译小米wifi的驱动,后来又不知道搞了啥,反正软件包依赖一团糟,很多软件装不上去.…
Ⅰ.概述 该文写给那些处于初学ST芯片开发.英文不好而又想偷懒的人. 该文主要的目的是提醒大家:学习一门技术是需要舍得花功夫,捷径是你在起点与终点之间不断的探索,最终总结出来的一条适合自己的路. 下面我将相关搜索.查找的方法教给大家,最后会把相关资料的下载地址放在最后,详情请往下看. 本着免费分享的原则,方便大家手机学习知识,定期在微信平台分享技术知识.如果你觉得分享的内容对你有用,又想了解更多相关的文章,请用微信搜索“EmbeddDeveloper” 或者扫描下面二维码.关注,将有更多精彩内容…
前言 数模转换DAC的功能在现实应用中所占的分量,相对定时器TIM.串口USART等要小的多,这也是ST为什么内部集成DAC模块相对来说不是那么多的原因.但在有需要使用数模转换功能的项目中,自带的这个DAC模块基本上可以取代外挂一片DAC芯片,因为自带的这个模块功能也很强大,只需要简单的配置一下就可以输出指定的电压信号(如:PWM波形.三角波.正选波),中途无需要软件干预.当然,今天提供的软件工程只有输出电压的基本操作,没有输出特殊的波形.但是,当你了解输出电压的原理之后,以后你想输出这些特殊的…
Systick的两大作用: 1.可以产生精确延时: 2.可以提供给操作系统一个单独的心跳(时钟)节拍: 通常实现Delay(N)函数的方法为: for(i=0;i<x;i++) ; 对于STM32系统微处理器来说,执行一条指令只有几十ns(纳秒),进入for循环,要实现N毫秒的x值非常大:而由于系统频率的宽广,很难计算出延时N毫秒的精确值:针对STM32微处理器,需要重新设计一个新的方法去实现该功能,以实现在程序中使用Delay(N): cortex的内核中包含一个SysTick时钟,SysTi…
摘要 通过前面的基础学习,本章进入最为激动的机器人自主导航的学习.在前面的学习铺垫后,终于迎来了最大乐趣的时刻,就是赋予我们的miiboo机器人能自由行走的生命.本章将围绕机器人SLAM建图.导航避障.巡航.监控等内容展开.本章内容: 1.在机器人上使用传感器 2.google-cartographer机器人SLAM建图 3.ros-navigation机器人自主避障导航 4.多目标点导航及任务调度 5.机器人巡航与现场监控 2.google-cartographer机器人SLAM建图 主流的激…
摘要 由于机器人SLAM.自动导航.语音交互这一系列算法都在机器人操作系统ROS中有很好的支持,所以后续的章节中都会使用ROS来组织构建代码:而ROS又是安装在Linux发行版ubuntu系统之上的,先学一些Linux命令行相关的知识,对后续ROS教程的快速上手会大有帮助.由于后续ROS的开发都是在Linux发行版ubuntu系统上进行,所以本章节就以ubuntu系统为例,对Linux命令行相关的知识进行展开讲解,本章节主要内容: 1.Linux简介 2.安装Linux发行版ubuntu系统 3…
摘要 由于机器人SLAM.自动导航.语音交互这一系列算法都在机器人操作系统ROS中有很好的支持,所以后续的章节中都会使用ROS来组织构建代码:而ROS又是安装在Linux发行版ubuntu系统之上的,先学一些Linux命令行相关的知识,对后续ROS教程的快速上手会大有帮助.由于后续ROS的开发都是在Linux发行版ubuntu系统上进行,所以本章节就以ubuntu系统为例,对Linux命令行相关的知识进行展开讲解,本章节主要内容: 1.Linux简介 2.安装Linux发行版ubuntu系统 3…