
MCU
文章平均质量分 62
MCU学习和分享
BretLi
硬件工程师,记录平时开发技术心得!欢迎关注!
展开
-
51单片机之串口通信(一)
一.基础知识1.串行通信和并行通信:目前用的比较多的是串行通信。串行通信优点是连接简单,传输距离远;缺点是传输速度慢。 2.串行通信:分为同步通信和异步通信;异步通信是指发送和接收设备利用各自的时钟控制数据的发送和接收。 3.串行通信的传输方向:单工,半双工,全双工。 4.波特率:每秒钟传输2进制代码的位数,如1个字节为10位,每秒传输240个字节,则波特率为10*240=2400bps,单位原创 2015-12-27 22:55:18 · 1059 阅读 · 0 评论 -
PCF8591学习(二)-AD转换,算法,串口打印
/*项目名称:PCF8591AD和串口打印项目内容:A/D转换,把转换的数字量送给P0口控制LED的亮灭 ;并把转换的数字逻辑运算,送给串口,打印到电脑上。这样就可以采样电压信号了,并处理。可以扩展做出电压表,电流表等。作者:YUAN*/#include #include //printf输出头文件#include //_nop_()延时头文件typedef unsigned char uChar原创 2015-12-29 22:26:28 · 2683 阅读 · 0 评论 -
PCF8591芯片以及AD学习(一)
一.AD的主要参数:1、AD的位数:表明这个AD共有2^n个刻度,8位AD,输出的刻度是0~255。(255=2^8-1)2、分辨率:就是AD能够分辨的最小的模拟量变化,假设5.10V的系统用8位的AD采样,那么它能分辨的最小电压就是5.10/255=0.02V。3、INL:Interger NONliner积分非线性度,表示了ADC器件在所有的数值点上对应的模拟值,和原创 2015-12-27 15:49:34 · 41446 阅读 · 4 评论 -
串口环形缓冲区学习
文章目录说明&感谢环形缓冲区作用编程步骤代码&分析实验现象源代码说明&感谢互联网是个开放的世界, 感谢无数开源和分享者, 本次学习主要参考了杰杰的分享, 经了解杰杰现在大学尚未毕业, 而本人工作8年了, 闻道有先后术业有专攻,再次感谢!参考链接: 杰杰优快云环形缓冲区作用串口数据接收, 如果数据量过大, 很可能来不及处理这些数据, 因此需要把接收的数据存放到...原创 2019-05-27 12:08:34 · 2677 阅读 · 3 评论 -
A0 基于button drive的按键实验
前言写过扫描式,中断式按键检测程序;最近在网上看到网友分享的按键程序,可方便创建按键和实现单击,双击和长按,因此试验了一下,中间也遇到了一些问题,并一一解决,在此,记录下实验心得; 同时感谢开源源代码的网友 杰杰.实验现象需要自己实现部分读取按键电平: Read_KEY1_Leveluint8_t Read_KEY1_Level(void){ return (uint8...原创 2019-05-25 15:19:58 · 443 阅读 · 0 评论 -
0.96寸OLED屏使用详解
如何理解OLED分辨率?这里0.96寸OLED分辨率是128*64;即OLED显示是128行*64列; 但是由于OLED不能一次控制一个点阵,只能控制8个点阵;而且是垂直方向扫描控制;如下图;因此垂直方向坐标可选为0~7;(8*8=64);水平方向可选坐标0~127. OLED控制函数函数参考野火的例程; OLED_I2C.H#ifndef __OLED_I2C_H#define __OLE原创 2017-12-10 15:23:16 · 112942 阅读 · 33 评论 -
I2C扫描从设备方法
I2C扫描从设备方法说明这几天在研究0.96寸OLED屏;但是一直都点不亮,同事建议用I2C扫描从设备地址,如是写了这个函数;虽然最终确定不是软件问题,但是解题思路很好,因此记录下来;MCU是STM32F103VE.思路I2C发送从设备地址,检测哪些地址有应答,则把这些地址答应出来,即可知道此I2C挂载了多少从设备;代码I2C_SCAN.H#ifndef __I2C_SCAN_H#define _原创 2017-12-08 21:38:50 · 5931 阅读 · 1 评论 -
STM32之GPIO端口输入模式配置举例
什么情况下用到输入模式?在模拟采样时;在按键输入时; 常用的输入模式有那些?模拟输入;上拉或下拉输入;GPIO上拉输入举例:#include "key.h"#include "sys.h"void KEY_Init(void){ GPIO_InitTypeDef GPIO_InitStructure; //结构体变量声明 RCC_AHB1PeriphClock原创 2016-06-07 07:43:20 · 11407 阅读 · 0 评论 -
stm32中GPIO端口的输出配置例子
为什么要配置端口?因为GPIO中端口的作用很多,没有固定的一种模式,因此需要配置.配置为输出模式 , 驱动led , 配置思路是什么样的?使能端口时钟;选定需要配置的管脚;配置端口的模式;初始化端口; 代码如下:#include "led.h"#include "sys.h"void LED_Init(void){ GPIO_InitTypeDef GPIO_InitStru原创 2016-06-05 11:06:28 · 4591 阅读 · 0 评论 -
C语言头文件的写作方法和说明
什么是头文件?头文件即为.h文件在STM32的编程过程中经常用到。 代码格式如下:#ifndef __LED_H#define __LED_H//中间可以写任何c语言声明和函数和宏定义//但是一般只写函数声明,宏定义,结构体定义void LED_Init(void);#endif 含义是:如果没有定义了__LED_H则,在按照下面的定义;否则退出; 注意:这个地方__LED_H写原创 2016-06-05 10:57:05 · 688 阅读 · 0 评论 -
STM32 printf函数打印到串口(刘凯)
来自刘凯第21讲学习STM32过程中,经常打交道的莫过于串口,你可以将任何信息,当然重要的是调试信息打印到串口中输出,总是用一个字节发送函数或者字符串发送函数总是有些不放便,之前编程中熟悉的莫过于printf了,下面就给出了用printf打印到串口的方案,当然方案不止一个,仅供参考。1、 添加printf的头文件 #include int fputc(int ch, FILE *f){USA原创 2016-04-24 15:27:38 · 19752 阅读 · 0 评论 -
STM32库函数实现USART发送数据(刘凯)
来自刘凯STM32视频教程,软件仿真–参考文件:STM32固件库使用手册的中文翻译版.pdf 如图1 我们先把USART初始化函数添加到主函数,如图二 包括Baudrate,Word Length,Stop Bit,Parity,Hardware Flow Control(硬件流控制),Usart Mode; UE使能,使能串口外设,如图3 3.串口初始化,串口外设使能之后,就要发送数据了原创 2016-04-24 11:47:47 · 13901 阅读 · 1 评论 -
STM32F4跑马灯实验(原子)
第13讲–来自正点原子视频硬件连接:LED分别接在PF9和PF10脚,且低电平点亮led;用到的库函数:头文件 源文件对应的都有头文件,需添加到工程;源文件(lib目录) misc.c(一般我们都不会删掉这个头文件) stm32f4xx_rcc.c(所有的工程都会用到,涉及到时钟的使能) stm32f4xx_gpio.c stm32f4xx_usart.c(正点原子程序需要)led原创 2016-04-27 21:54:04 · 3913 阅读 · 0 评论 -
RS232电平 RS485电平 RS422电平
转自:http://blog.youkuaiyun.com/blaider/article/details/12143507/ 232电平或者说串口电平,有的甚至说计算机电平,所有的这些说法,指得都是计算机9针串口 (RS232)得电平,采用负逻辑, -15v ~ -3v 代表1 +3v ~ +15v 代表0 RS485电平 和RS422电平 由于两者均采用 差分传输(平衡传输)的方式,所以他们的电平方转载 2016-04-10 21:34:48 · 733 阅读 · 0 评论 -
STM32F103软件仿真进不了主函数 解决方案
最近看了视频,里面有仿真,可以清楚看到GPIO口的数据变化,也想尝试下,DUG时却出现* error 65: access violation at 0x40021000 : no ‘read’ permission。解决方法:Debug里面的设置有问题 主要是下面2项设置 Dialog DLL默认是DCM3.DLL Parameter默认是-pCM3应改为 Dialog DLL默认是DAR原创 2016-03-13 15:58:13 · 8418 阅读 · 0 评论