
嵌入式
文章平均质量分 59
南叔先生
QQ:904762096
展开
-
STM32F103两种串口输出的方式 学习笔记
#include "stm32f10x.h" #include "stm32f10x_rcc.h" #include "stm32f10x_gpio.h" #include "stm32f10x_usart.h" #include "stm32f10x_crc.h" #include "system_stm32f10x.h" #include "stdio...原创 2018-07-31 19:54:26 · 2753 阅读 · 0 评论 -
两个蓝牙HC-05的完美配对 学习笔记
【恢复1默认设置】串口调试助手XCOM将蓝牙1恢复默认设置:AT+ORGL,点击发送【设置1配对码】串口调试助手XCOM,配置蓝牙1的配对码:AT+PSWD=“0000”,点击发送注意:蓝牙1与蓝牙2的配对码相同,这样才能成功配对【设置1主模式】串口调试助手A,将蓝牙A配置为主机模式:AT+ROLE=1,点击发送下面用另外一个串...原创 2018-08-01 17:26:26 · 31716 阅读 · 24 评论 -
STM32之内存管理 学习笔记
一、内存管理它是指软件运行时对MCU内存资源的分配和使用技术,它的特点是可以实现动态释放和回收内存。使用它的最主要目的也是为了高效,快速的分配并且在适当的时候释放和回收内存资源。内存管理的实现方法有很多种,他们其实最终都是要实现两个函数:malloc(内存申请)和free(内存释放)二、分块式内存管理 分块式内存管理由内存池和内存管理表两部分组成。内存池被等分为n块,对应的内存管...原创 2018-08-23 16:30:19 · 990 阅读 · 0 评论 -
STM32 DMA 学习笔记(二)
一、常用DMA库函数1.DMA初始化(包括通道和参数配置)void DMA_Init(DMA_Channel_TypeDef* DMAy_Channelx, DMA_InitTypeDef* DMA_InitStruct);下面就是结构体参数typedef struct{ uint32_t DMA_PeripheralBaseAddr; //外设基地址 uint32...原创 2018-08-04 16:16:30 · 4988 阅读 · 1 评论 -
STM32 最简单的边沿触发脉冲计数程序
#include "led.h"#include "delay.h"#include "key.h"#include "sys.h"#include "usart.h"#include "timer.h"#include "lcd.h"extern u8 sign;extern u16 TIM5CH1_CAPTURE_COUNT; int main(void) { ...原创 2019-11-24 20:59:47 · 8308 阅读 · 1 评论 -
STM32之独立看门狗 学习笔记
一、独立看门狗概述: 独立看门狗其实就是一个独立于主时钟的定时复位狗。一旦开启独立看门狗,它就会根据自己设定的时间不断倒数,倒数到0后就开始复位。二、关于喂狗: 喂狗就是让狗去吃东西,分心后,这只狗就得重新倒数。三、stm32看门狗示例程序:#include "led.h"#include "delay.h"#includ...原创 2018-08-01 19:30:57 · 592 阅读 · 0 评论 -
STM32之I2C 学习笔记
一、基本概念(1)I2C是两线式串行总线,由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。在CPU与被控IC之间、IC与IC之间进行双向传送,高速IIC总线一般可达400kbps以上。(2)IIC是半双工通信方式,也就是说它既可以接收也可以发送,但是由于它只有一根数据线,所以接收和发送不能同时进行。二、I2C协议(1)空闲状态:数据线SDA和时钟SCL线都处于高电平。...原创 2018-08-14 13:44:28 · 745 阅读 · 0 评论 -
HC-05通信的正确打开方式
1.蓝牙模块RX TX +5 VCC分别与串口线TX RX +5 GND连接2.打开串口助手,设置串口,波特率9600,打开串口3.按一下蓝牙模块上的微动开关4.在串口助手上发送AT,PC端就会有OK回应,其它相应指令也会有相同回应了我尝试过多次,连接在单片机的RX TX,发现就无法进行串口通信,具体原因有待研究...待续...原创 2018-07-30 23:17:38 · 1787 阅读 · 0 评论 -
TIM2 TIM3 TIM4 TIME5定时器使用
#include "timer.h"#include "led.h"#include "usart.h"void TIM3_Int_Init(u16 arr,u16 psc){ TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; NVIC_InitTypeDef NVIC_InitStructure; RCC_APB1Peri...原创 2019-11-24 23:41:02 · 3423 阅读 · 0 评论 -
STM32 DMA 学习笔记(一)
一、功能介绍 DMA 传输将数据从一个地址空间复制到另外一个地址空间。(不需要CPU干涉) 传统的数据传输:地址A——>CPU——>地址B DMA数据传输:地址A——>地址B这样也就为CPU减负了二、STM32DMA含有两个通道,DMA1有7个通道,DMA2有5个通道。每一一个通道都可以连接一个外设。那么就有一个仲裁器,...原创 2018-08-03 10:58:20 · 2965 阅读 · 0 评论 -
STM32中关于HC-05的学习笔记
使用单片机与手机进行通信接线问题:HC-05的RX,TX与单片机的PA9,PA10对应相接。至于连接在ATK MODULE 端口中下RX,TX相连无法接受,有待与进一步研究待续...下面带上可行的程序:#include "stm32f10x.h" #include "stm32f10x_rcc.h" #include "stm32f10x_gpio.h" ...原创 2018-07-31 14:58:25 · 2449 阅读 · 0 评论 -
STM32定时计算详解
STM32之定时器时间=次数x1/频率((1+TIM_Prescaler )/72M)*(1+TIM_Period )=((1+7199)/72M)*(1+9999)=1秒一、定时器简介1、时钟来源2、定时器结构(以基本定时器为例)二、基本定时器的编程方法1、基本定时器的寄存器2、例程/** * @brief 定时器6的初始化,定时周期...原创 2019-02-21 16:02:59 · 9530 阅读 · 0 评论 -
实现蓝牙与手机的双向通信 学习笔记
说明需要注意的几点:1.USART3_RX_BUF[reclen]=0; //加入结束符,如果不加,就会和某些数据夹杂在一起,传回来部分无用的信息,经测试!2.接线!!!蓝牙与单片机,任何时候都是 rx-tx,tx-rx。但是stm32精英版中uart3有个很奇怪的错误?上图这也就是说,在板子上的rx接的单片机实际引脚是TX,所以接线的时候是对应相接。...原创 2018-07-31 22:40:50 · 4156 阅读 · 1 评论 -
MiniFly四轴飞行器程序框架 衔接项目 学习笔记
一、程序框架radiolinkTask :无线通信任务。该任务主要负责接收从 NRF51822 发送(串口方式)过来的数据,然后对数据进行打包和校验,打包成 ATKP 格式并校验无误后发送到atkpRxAnlTask 的接收队列里,同时回传一帧数据给 NRF51822。usblinkRxTask :USB 通信接收任务。该任务主要负责接收上位机发下来(USB 虚拟串口方式)的数据...原创 2018-08-03 09:27:58 · 4712 阅读 · 1 评论 -
Arduino学习笔记
一、引脚二、函数介绍1.pinMode(pin, mode)引脚配置成输入或者输出,其中mode可以为INPUT或者OUTPUT例如:pinMode(7, INPUT); // 将引脚7定义为输入接口2.digitalWrite(pin, value)打开一个数值引脚并将其赋值高电平或者低电平,此引脚必须是前面定义过的输入或者输出模式,否则digitalWrite不生...原创 2019-02-23 21:26:36 · 4225 阅读 · 2 评论 -
解决MDK5中文乱码、字体修改问题
找到中上部的一个小扳手按上图更改Enconding至此解决中文乱码问题下面解决字体问题依次点击以上选项,修改自己想要的字体和大小即可...原创 2018-07-31 15:29:14 · 9428 阅读 · 1 评论 -
UP Board 串口 学习笔记(转载)
前言本文为转载文章,原文请查看http://www.cnblogs.com/sjqlwy/p/up_serial.htmlUP Board 关于如何使用串口资源的官方介绍仅有Serial console和Pinout维基页面,后者提供了树莓派40Pin串口通信的示例。整体而言所述较少,官方论坛有零星提及(一、二),所以本文在我个人使用基础上写成,分享给大家,希望能有所帮助。本文以ubi...转载 2018-08-02 07:26:16 · 2482 阅读 · 1 评论 -
关于MDK5软件出现错误的解决方式 学习笔记
在KEIL软件的中经常会出现以下几种错误:1.Error: Flash Download failed - Could not load file '..\OBJ\Template.axf'关于这个问题是由于以下几个方面的问题造成的:(1)语法错误,少了括号,少了逗号等等。从图中明显可以看错少了一个分号,但是编译完全正确。着可能是MDK5的一个bug。(2) 函数名冲突,自己定...原创 2018-07-31 15:19:13 · 8831 阅读 · 2 评论 -
通过一个无人机代码例程学会ardunio
第一部分:关于接线1.首选在接收机的任意一个空置插口引出一个vcc和GND,直接连接arduino 5v 和GND,这时你的arduino就和飞机连成了一套系统,可以共同工作了。2.接下来把接收机供给飞控的四根信号线从飞控上卸下,连接在arduino上的任意数字端口,我连接的是22,24,26,28,而这四根线的作用分别是AIL副翼,ELE升降,THR油门,RUD方向下面具体解释...原创 2018-07-27 20:43:36 · 11668 阅读 · 0 评论 -
通讯协议动画展示(SPI、I²C、UART、红外)+串口调试、调频调幅
SPI传输I²C传输UART传输PC 串口调试红外控制串行通讯信号红外信号接收与放大整形电路串并转换电路移位寄存器PWM控制LED亮度调幅与调频信号相位调制信号...原创 2022-04-16 14:58:49 · 867 阅读 · 0 评论 -
loT技术(BT/WFI/ZIGBEE/MESH)
一、传输原理蓝牙、WiFi 和 ZigBee协议,原理上它们都是通过把数据调制成电磁波信号发射出去,另一端再解调接收到的电磁波,实现无线的数据传输。二、性能对比三、应用场合1.WIFI主要应用于高传输速率的场合,比如移动设备连接互联网、监控摄像头等。对稳定性、功耗等不敏感的场合。Wifi Mesh目前用的比较少,主要是成本比蓝牙mesh高。2.蓝牙,自蓝牙4.0发布BLE协议以来,蓝牙的功耗大幅降低,使用体验大幅上升,所以这两年应用非常广。加之BLE Mesh的发布,低功耗低成本的特原创 2022-03-30 10:29:42 · 6080 阅读 · 0 评论 -
嵌入式开发中的通讯协议(UART、SPI、CAN、I2C)
一、UARTUART是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。1.1接口(两根线)UART TX:发送 UART RX:接收1.2如何传输UART作为异步串口通信协议的一种,工作原理是将传输数据的每个字符一位接一位地传输。每一个位的含意1.起始位:先发出一个逻辑”0”的信号,表示传输字符的开始。2.数据位:紧接着起始位之后。资料位的个数可以是4、5、6、7、8等,构成一个字符。通常采用ASCII码。从最低位开始传送,靠时钟定位。3.原创 2022-03-29 21:35:20 · 4496 阅读 · 1 评论