嵌入式单片机
文章平均质量分 59
嵌入式单片机入门随笔。
无名小屁喵
静心求学,学无止境。
展开
-
Simulink自动生成嵌入式代码体验
Matlab版本:MatlabR2016b开发板:AC7811QBFE开发板直接上模型(Motorola_Creat_Signal模块为自定义模块用于解析Motorola格式的CAN报文,模块内部根据StartBit进入不同的分支再结合Length、Factor进行移位等算术运算):模型的功能:从底层输入Test_Msg报文,解析后将结果输出给底层。CAN报文的DBC文件如下:首先配置Simulink的解算器Solver选择定步长(基础采样时间设置为0.1S)解算器算法选用离散算法。再配原创 2022-07-13 22:07:22 · 783 阅读 · 0 评论 -
CRC16_Modubus校验算法
最近工作学习到Modbus、Ymodem等协议,均涉及到CRC16校验算法,故而有必要深入了解CRC16校验算法的原理。以CRC16_Modbus为例:结果:51925 = 0xCAD5CRC16_Modbus传输时先传输CRC16的低字节再传输高字节。留下的疑问:采用注释区两个while循环嵌套的写法得到的结果与两个for循环嵌套的写法不同,还望高人指点。......原创 2022-06-20 14:37:47 · 1242 阅读 · 0 评论 -
树莓派Pico开发----流水灯
最近参加工作一直在和C、C#打交道,一年多前自学的Python似乎都无用武之地,偶然看到树莓派Pico(双核Cortex-M0+)支持MicroPython,而且价格也只有4$,树莓派基金会还提供了一个非常详细的Python SDK PDF文档(该文档详细介绍了各种内置的函数及对应函数的具体用法和提供的案例说明)。基于以上(真香)因素入手了一块Raspberry Pi Pico开发板。首先准备以下文件:将Pico通过USB连接到电脑后会出现一个名为RPI-RP2的U盘,将uf2文件拷贝进去即可完成烧入原创 2022-06-06 22:37:18 · 1251 阅读 · 0 评论 -
从MCU上电启动流程出发编写bootloader(中)
上文已经分析了MCU上电的启动流程。本文尝试编写一个简单的bootloader以及一个实现CAN通信的APP,为我们下一步尝试编写一个通过CAN通信实现刷写APP功能的bootloader作铺垫。下面直接上干货。看一下bootloader工程的结构,非常的简单,实现代码也非常简单。main.h#ifndef _MAIN_H#define _MAIN_H#define APPLICATION_ADDRESS (uint32_t)0x08004000//APP工程的起始地址typedef原创 2022-05-29 09:46:59 · 1100 阅读 · 1 评论 -
从MCU上电启动流程出发编写bootloader(上)
配置开发板的BOOT,从EFLASH(即片内Flash存储器)启动。在KEIL中也需要进行相应的设置,将接下来要编写的bootloader烧写至EFLASH(bootloader段需要设置从0x8000000开始,空间根据bootloader大小分配)。我们将bootloader程序反汇编可以查看EFLASH分配占用情况。结合startup_ac78xx.s启动文件来分析MCU上电的启动流程。__Vectors DCD __initial_sp .原创 2022-05-28 21:29:24 · 2063 阅读 · 0 评论 -
STM32单片机开发----GPIO(General-purpose Input Output)通用IO口
一、GPIO的相关配置寄存器1.CRL端口配置低寄存器&CRH端口配置高寄存器(均为32位)一组GPIO有16个GPIO口(例如GPIOA简称PA,有PA0-PA15这16个GPIO口)一个GPIO口由4个bit位配置分别是MODE[1:0]和CNF[1:0],所以一组GPIO就需要4*16=64bit位去配置,这正好对应我们的CRL和CRH寄存器。PA0-PA7由CRL配置,PA8-PA15由CRH配置。以PA0为例对应MODE0[1:0] CNF0[1:0]MODE[1:0]用于设原创 2022-02-23 12:16:18 · 819 阅读 · 0 评论 -
51单片机开发----点亮8*8点阵的1行1列的LED
从开发板直观地看到这个模块用到的元器件:有8*8的点阵,一片74HC595芯片(对应图上U6)。查看开发原理图。光看到封装是不够的,进一步看内部电路设计是怎样的,当然还有74HC595的使用手册也是要看的。到此处我们知道行是由74HC595的输出控制且1(高电平)有效,此外列是由单片机的P0口控制的且0(低电平)有效。只有当第一行第一列同时有效时,第一个LED灯才会被点亮。接下来主要就是了解74HC595的使用了。74HC595中文手册功能(用处):8 位串行输入/输出或者并行输出移位寄存原创 2021-03-30 14:56:10 · 1639 阅读 · 1 评论