uart

How do I pass a value back to this string?

大憨熊 提交于 2020-12-23 15:48:39
问题 Summary: I have a microbit connected to a rpi-zero. I coded the microbit, when A button is pressed it will then send data through uart.write to the rpi-zero. In this test, the microbit will uart.write("Test") , write a "Test" word to the rpi-zero. My ultimate goal is to use rpi-zero's BLE capabilities to act as a control device with instructions sent from microbit buttons. I found this GATT Server Code written in python for rpi. Which it ran with no problem at all. The code below will be used

ATTiny85 - Software UART with Timer1

拜拜、爱过 提交于 2020-12-06 15:47:31
问题 So recently I tried to implement Software UART (TX only) for the ATTiny85. I want to drive it with the internal Timer1. The timer shall interrupt with the frequency of the Baudrate. Every ISR one bit will be transmitted, until there is nothing left to send and the interrupt will be disabled again. (Note: F_CPU=1000000 ; Fuses are the factory default (E:FF, H:DF, L:62) ) #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include <stdint.h> #define SET(reg, pos) (reg |= 1<<

RedPitaya: No data in UART - can't read buffer

百般思念 提交于 2020-06-27 06:05:37
问题 I am trying to read out a Sensor on a RedPitaya (running Ubuntu). The sensor (RM08 rotary encoder by RLS) works with the SSI protocol. I connected the Clock wire to a Digital Output Pin and the Data wire to my Uart RX-PIN. What I want my program to do now is: After transmitting the clock-signal by my function "clock_signal()" I expect the sensor sending 8 bits of data to my UART via the RX-Pin. But when reading the RX Buffer with the following Code I only get the message "Again!" which means

grub参数console=

邮差的信 提交于 2020-03-18 07:13:52
本文主要分析Linux内核如何处理grub参数中的console=ttyS0,115200n8部分,中间还会穿插一些 include/linux/init.h 的内容。 grub参数中的console=有多种形式,根据 Documentation/kernel-parameters.txt 文件, console= [KNL] Output console device and options. tty Use the virtual console device . ttyS [,options] ttyUSB0[,options] Use the specified serial port. The options are of the form "bbbbpnf", where "bbbb" is the baud rate, "p" is parity ("n", "o", or "e"), "n" is number of bits, and "f" is flow control ("r" for RTS or omit it). Default is "9600n8". uart[8250],io, [,options] uart[8250],mmio, [,options] Start an early, polled-mode console on the

嵌入式开发常用通信协议(总结)

痞子三分冷 提交于 2020-03-17 07:54:01
在嵌入式系统中,板上通信接口是指用于将各种集成电路与其他外围设备交互连接的通信通路或总线。 以下内容为常用板上通信接口:包括I2C、SPI、UART、1-Wire 1. I2C总线(Inter Integrated Circuit) I2C总线是一种同步、双向、半双工的两线式串行接口总线。这里,半双工的含义 是指在任意给定的时刻,只有一个方向上是可以通信的 。I2C总线最早由Philips半导体公司于20世纪80年代研发面市。I2C最初的设计目标是为微处理器/微控制器系统与电视机外围芯片之间的连接提供简单的方法。 I2C总线由两条总线组成:串行时钟线SCL和串行数据线SDA。 SCL线——负责产生同步时钟脉冲。 SDA线——负责在设备间传输串行数据。 I2C总线是共享的总线系统,因此可以将多个I2C设备连接到该系统上。连接到I2C总线上的设备既可以用作主设备,也可以用作从设备。主设备负责控制通信,通过对数据传输进行初始化/终止化,来发送数据并产生所需的同步时钟脉冲。从设备则是等待来自主设备的命令,并响应命令接收。主设备和从设备都可以作为发送设备或接收设备。无论主设备是作为发送设备还是接收设备,同步时钟信号都只能由主设备产生。在相同的总线上,I2C支持多个主设备的同时存在。图1-1显示了I2C总线上主设备和从设备的连接关系。 图1-1                   图1-2

STM32 HAL库 UART使用printf

我只是一个虾纸丫 提交于 2020-03-16 02:20:40
STM32 HAL库 UART使用printf // 添加这个函数 int fputc(int ch,FILE *f) { uint8_t temp[1]={ch}; HAL_UART_Transmit(&UartHandle,temp,1,2); } MDK设置:勾选Use Micro LIB 测试板子:STM32F746NG-DISCOVERY main.c文件 /* Includes ------------------------------------------------------------------*/ #include "main.h" #include <stdio.h> /** @addtogroup STM32F7xx_HAL_Examples * @{ */ /** @addtogroup UART_TwoBoards_ComDMA * @{ */ /* Private typedef -----------------------------------------------------------*/ /* Private define ------------------------------------------------------------*/ #define TRANSMITTER_BOARD /* Private macro

STM32F0_HAL库驱动描述——基于F1的USART串口IT中断实现解析

给你一囗甜甜゛ 提交于 2020-03-15 18:44:36
从原子F103 HAL库基础串口例程来看HAL程序结构; 从main函数开始,首先是HAL库两个函数的初始化: HAL_Init(); Stm32_Clock_Init(RCC_PLL_MUL9); 解析HAL_Init() 分为四个部分: A:启用FLASH预取缓存区; B:设置中断组优先级(由于F0是M0系列的,因此没有组优先级一说); C:配置SYSTICK时钟; D:初始化低等级的硬件; HAL_StatusTypeDef HAL_Init(void) { /* Configure Flash prefetch */ #if (PREFETCH_ENABLE != 0) #if defined(STM32F101x6) || defined(STM32F101xB) || defined(STM32F101xE) || defined(STM32F101xG) || \ defined(STM32F102x6) || defined(STM32F102xB) || \ defined(STM32F103x6) || defined(STM32F103xB) || defined(STM32F103xE) || defined(STM32F103xG) || \ defined(STM32F105xC) || defined(STM32F107xC) /* Prefetch

STM32 HAL库的串口使用__HAL_LOCK(huart)

▼魔方 西西 提交于 2020-03-12 04:56:41
在使用HAL库的时候发现同一串口的接收和发送如果同时进行的话会发生问题,因为 如果用调用下面的函数 HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) 进行接收串口数据的时候,有可能 HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout) 也正在进行中,而这两个函数都会对串口资源上锁 __HAL_LOCK(huart); 导致中断接收函数 HAL_StatusTypeDef HAL_UART_Receive_IT 返回hal_busy; 没有正常的执行,所以串口接收中断也没有打开,再也接收不到下一个字节了。 我简单粗爆的把 __HAL_LOCK(huart);注释掉了。 来源: https://www.cnblogs.com/jackweibe/p/7279212.html

基于STM32之UART串口通信协议(三)接收

蹲街弑〆低调 提交于 2020-03-12 02:00:20
一、前言 1、简介   回顾上一篇 UART发送 当中,已经讲解了如何实现UART的发送操作了,接下来这一篇将会继续讲解如何实现UART的接收操作。 2、UART简介   嵌入式开发中,UART串口通信协议是我们常用的通信协议之一,全称叫做通用异步收发传输器(Universal Asynchronous Receiver/Transmitter)。 3、准备工作   在 UART详解 中已经有了详细的说明,按照里面的说明即可。 注:   建议每次编写好一个相关功能且测试功能成功使用后,保存备份并压缩成一份Demo例程,方便日后有需要的时候可以直接使用。   例如: 二、CubeMx配置及函数说明 说明:   如果有看过我写的 UART发送 的兄弟姐妹们应该会知道,在 UART发送 和 UART详解 中的CubeMx配置都是一样的。   但这一次不同,会在原本配置CubeMx的基础上,添加一些UART的中断配置来实现中断接收操作。 1、CubeMx配置 1)按照 UART详解 配置UART(若配置过,可以继续使用) 2)使能串口中断 3)设置中断优先级(如果没开启其他中断,那就默认即可,直接跳过) 4)代码生成(点击前最好把原本的工程关掉,不然有可能会有问题) 2、函数说明 1)CubeMx生成的UART初始化(在usart.c中) 说明:   会与上一篇 UART发送