![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MCU
文章平均质量分 55
陆小白很白
发愤忘食,乐以忘忧,不知老之将至。
展开
-
MCU——TC04B触摸按键芯片驱动
前言:经常写一些触摸按键相关的代码,整理如下。方便查阅。// if (Touch_Clock)// {// if ((Touch_Clock & 0x01) == 1)// {// KeySampleBuf[0] >>= 1;// GPIO_SETBIT(CLKTC04B_PORT,CLKTC04B_PIN);//原创 2021-06-11 10:34:34 · 1048 阅读 · 4 评论 -
MCU —— 数码管显示笔记
前言:下面面是针对数码管常见显示的笔记。1. 数码管显示图 下面是数码管的段位图,2. seg端引脚连接#define PS_A (1<<0)#define PS_B (1<<1)#define PS_C (1<<2)#define PS_D (1<<3)#define PS原创 2021-04-27 09:31:02 · 400 阅读 · 0 评论 -
MCU——SRAM和Flash
前言:MCU中的SRAM和Flash相当于计算机系统中的RAM和ROM概念。1. SRAM和Flash对比区别分类SRAMFlash容量容量小容量大读写速度快慢掉电易失掉电易失掉电不易失价格高昂低廉应用场合程序运行中数据变量的运算存储代码或者常量数据2. 芯片容量 由于SRAM用于存储程序运行过程当中产生的临时数据,因此在程序中定义大批量数据时候必须考虑到SRAM的容量大小,特别是实时数据采集时,一旦需要采集大量数据,考虑到原创 2021-03-16 10:19:16 · 13148 阅读 · 3 评论 -
移植笔记——【MCU程序移植注意事项】
前言:关于MCU之间的程序移植有很多细节需要关注,以下是做一些记录,后续想到了注意点再来更。 移植处理总体来说可以分成两类:第一类是非程序代码操作的更改,主要是针对不同的MCU设备文件和Flash算法文件更换;第二类程序代码操作的更改,主要是针对代码中不同MCU中的引脚定义更改,寄存器操作更改。1. 设备文件更换设备处理器型号更改有时候因为MCU型号不同,设备内核文件也会不一样,要选择对应的设备。启动文件更改不同的MCU启动文件也可能不一样,需要主要移植的MCU启动文件是否跟原文件一样。原创 2021-02-26 13:08:03 · 2930 阅读 · 3 评论 -
UART通讯协议(四)数据接收帧间隔
【随手记】 简单的UART通讯接收数据,通常的做法是接收一帧数据帧处理后,将接收缓冲区游标指针移到缓冲区最前面。这样等到下次接受时候,数据又从头开始放,这种做法可以保证每次缓冲区接收的数据帧都是从头开始完整的一帧。 然而这种做法必须要满足一个条件,循环查询接收的数据时间必须略小于对方发送数据间隔,否则会产生数据混乱现象。...原创 2021-01-08 10:40:48 · 1496 阅读 · 0 评论 -
MCU——JLINK接外部电源调试问题
前言:JLINK供电原创 2020-11-17 11:27:51 · 3563 阅读 · 0 评论 -
MCU——矩阵键盘扫描问题记录
前言:记录一些在直接用单片机IO口做扫描输出遇到的问题。单片机IO口做矩阵键盘,公共端内部上拉,平时为高电平,按键被按下时为低电平。方案一:扫描端一个出低电平其余都出高电平问题:在单个按键或者不同公共端多个按键按下时不会出现问题,但是在一个公共端出现多个按键的情况下,因为两个扫描端一个低一个高,同时被按下,所以在公共端上的电平是一个介于高电平和低电平之间的不确定的状态。要想解决此问题,需要把扫描端设置为低电平和输入悬空状态。...原创 2020-11-09 16:39:46 · 635 阅读 · 0 评论 -
MCU——JLINk找不到芯片错误记录
前言:以下是对JLINK找不到芯片或写程序问题的记录1. 电压不稳 遇到过一种情况,硬件工程师做的写入口的排针稍短一些,导致写入口与JLINK连接时接触不良,电压不稳定出现一定概率情况芯片写不进程序。2. 写入口 SWDIO/SWDCLK 短接 新来的硬件工程师乱七八糟的飞线把写入口IO/CLK短接,之后会出现时序信号混乱,找不到芯片写入口的情况。...原创 2020-11-09 09:14:41 · 3279 阅读 · 0 评论 -
MCU——简易单片机按键驱动程序分析
前言:下面是自己写的一个简易的单片机按键程序,主要采用了物理键值和逻辑键值查表映射的方法。此外还添加了长按,短按以及连续按键的功能。1. 键值映射数据结构表 不管是直接采用MCU的引脚做矩阵键盘处理还是采用一些特殊的按键芯片获取键值,获取的物理键值总是和电气特性息息相关。对于程序来说,为了屏蔽物理层的特殊性,可以采用物理键值和逻辑键值查表映射的方法获取逻辑键值。1.1 物理键值和逻辑键值 对于表中的数据结构,功能按键必须有其对应的物理按键和逻辑按键键值,即使两者或许都一样,这是为了程序的扩展性原创 2020-10-26 19:34:29 · 1645 阅读 · 0 评论 -
开方根运算——没有FPU的解决办法
前言:笔者在做工程时需要用到大数的开方根运算,但是用的芯片没有FPU,。于是,笔者用移位运算自己实现一个精度只精确到个位的开方根运算。原创 2020-10-09 09:35:07 · 262 阅读 · 0 评论 -
SourceInsight初学使用笔记
**前言:**平时做工程一般很少使用到SI,有时候偶尔用一次时间久了,难免生疏,重新去回忆又会花上大量时间,在此记录些常用的使用步骤。1.新建SI工程关闭当前工程 如果当前已有打开工程,要先关闭当前工程。 “Project”=>"Close Project"新建工程 新建工程文件 "Project=>New Project"存储工程文件 填写工程文件名,填写存储工程文件路径添加工程文件树 在随后出现的对话框”Add and Remove Project Fi原创 2020-07-10 10:52:18 · 289 阅读 · 0 评论 -
按键扫描——74HC164驱动(二)
前言:原创 2019-11-20 09:23:44 · 1333 阅读 · 0 评论 -
按键扫描——74HC164驱动(一)
前言:笔者经常原创 2019-11-18 15:42:17 · 4467 阅读 · 2 评论 -
UART通信协议(三)GPIO模拟串口
前言:上一篇文章中说到了UART的数据帧格式以及它的几种工作模式,在实际应用场合中,UART协议大多通过集成在MCU模块中的硬件逻辑来实现。为了更好的理解UART,在这里写篇文章用软件模拟串口通信,加深印象。模拟前的准备1.工作模式的选择这里选择最常见异步全双工模式,无校验位,即TX和RX分别用于收发数据,可同时进行。因为这种模式相比其他的最具有代表性,也比较容易模拟,毕竟学东西都是由易到难...原创 2019-11-13 16:03:49 · 5199 阅读 · 0 评论 -
UART通信协议(二)数据格式和工作模式
前言:在本系列的前一篇文章中介绍了波特率和比特率的区别,接下来的文章开始说下UART的数据格式和工作模式。UART协议简介通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART。它将要传输的资料在串行通信与并行通信之间加以转换。UART协议中涉及到的引线有2根,分别是TX和RX。TX用于芯片将并行的一个字节的数据转换为串...原创 2019-11-12 12:22:00 · 5812 阅读 · 1 评论 -
UART通信协议(一)比特率和波特率
顶顶顶原创 2019-11-08 10:36:49 · 9926 阅读 · 2 评论 -
STVD ERROR:misplaced local declaration
STVD ERROR:misplaced local declaration问题解决: 在使用STVD的时候报如上错误,发现是STVD的编译器COSMIC的编译语法标准和C99的不一样,C99中,函数内的局部变量可以即用即声明,而COSMIC编译器支持的模式是在函数一开始,就将所有的局部变量全部声明完成。我在开发中使用的是STM8系列MCU,个人觉得编译器这么设计的原因是:STM8采用变长指...原创 2019-09-29 12:52:51 · 1220 阅读 · 0 评论 -
RAM上电清零操作
我们都知道制造RAM使用的材质是一种掉电易失性存储介质,因此RAM中的数据在掉电后易失。但是这里要区分两个概念:“掉电易失”和“清零”。RAM在掉电失去数据后重新上电时,由于受到外界电磁环境干扰,会产生随机数。不同的编译器针对这一特点会有不同的操作,有的编译器会在程序启动(即执行main)之前自动加入一段初始代码,对RAM区所有的单元赋值为0(清零操作);...原创 2019-10-08 14:05:12 · 2746 阅读 · 0 评论 -
指针变量的所占字节数大小确定
我们在编程过程中经常会用到指针变量,如果需要知道指针变量的大小,我们也可以很方便的使用sizeof来查看,但是指针变量的大小究竟和什么直接相关呢?首先,我们需要知道:指针变量其本质是指向一个地址的变量。我们可以将一段程序分为代码部分和数据部分。代码部分的地址其实就是指令的地址,在底层中根据使用的CPU架构不同,可以是PC寄存器或者CS:IP形式的寄存器组合。对于使用高级语言的程序员...原创 2019-10-07 16:48:25 · 639 阅读 · 0 评论