![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式
文章平均质量分 93
David 's blog
这个作者很懒,什么都没留下…
展开
-
【Autosar】学习总结-MCAL
一、简介MCAL:微控制器抽象层;位于BSW层中的最下层;MCAL细分,可将驱动分为:微控制器驱动、存储器驱动、通信驱动、IO驱动:二、MCAL的配置(EB-Tresos)1.PORT我理解的PORT:MCAL层中的IO驱动组中的pin脚总体配置:Port就是芯片上的每个pin脚,可以配置成DIO ADC PWM ICU等单引脚的功能,也能配置成CAN的TX或者RX、SPI的MOSI等等其他功能的单个pin脚功能;总之,PORT就是芯片上的具体的某个引脚。配置原创 2022-03-17 20:28:46 · 26621 阅读 · 18 评论 -
【PWM】从stm32到pwm到OLED屏幕调光到晚上不要玩手机
一、前言最近做项目,配置了单片机中PWM波形输出,配置单片机中的一个引脚输出PWM波,示波器查看这个波形,做了实践操作,有一些感想,将一些了解过的知识和常识结合,包括pwm、stm32单片机、引脚、手机屏幕调光、OLED特性、相机快门时间....等,串在了一起。故有感而发,做个记录。二、pwm、单片机中的pwm1.pwm:脉宽调制这个脉宽调制,第一次差的时候真的是读了很多遍也不理解(软工出身 硬件实在是不太懂...咳咳)2.stm32中的pwm:第一次了解是学习单片机看.原创 2022-03-14 03:21:56 · 9363 阅读 · 7 评论 -
【Autosar】学习总结-BSW层
二、AutoSar架构分层架构三、MCAL四、BSW五、RTE六、SWC七、开发工具1.劳特巴赫 (Lauterbach ):用来调试2.vector DaVinci Developer --设计SWC的图形界面工具3.vector DaVinci Configurator Pro ...原创 2022-03-01 21:24:16 · 29342 阅读 · 28 评论 -
【debug】stm32 指针奇数地址问题导致HardFault
很久很久没有记录过debug了,今天有空就正好记录一下stm32F407的开发板程序运行到断点位置就会进入hardFault,如图所示师傅告诉我:这个地址是奇数有问题啊!字节对齐!STM32出现硬件错误可能有以下原因: (1)数组越界操作;(2)内存溢出,访问越界; (3)堆栈溢出,程序跑飞; (4)中断处理错误;首先疑问,为什么指针是奇数的操作(例如复制之类的),一操作就会HardFault呢...原创 2020-12-15 13:52:41 · 2168 阅读 · 1 评论 -
【STM32】BootLoader介绍、编写 以及 OTA常见方案分析(差分升级 全量升级 AB面升级)
1.外设驱动--CubeMX生成GPIO uart(debug uart) SPI flash原创 2020-11-11 19:47:14 · 16991 阅读 · 5 评论 -
【踩坑】mcu+4G mqtt移植阿里云c_sdk抽取代码时遇到的坑:抽取代码失败wrapper.c中没有相应接口(原因:config.bat完成后要点击exit)
〇、起因,遇到相同坑的可以参考MCU上移植开发C·SDK流程中,第一步就是下载C_SDK,下载好之后就是点击config.bat配置功能。阿里云官方文档有抽取代码的移植说明:https://help.aliyun.com/document_detail/111026.html?spm=a2c4g.11186623.2.11.4fe81c84h17oAM【基于代码收取时的移植说明】我从头到尾读了,并且很久之前就做过stm32f103 + esp8266的连接阿里云例程,但今天才发现抽取代码的一原创 2020-10-22 14:07:29 · 564 阅读 · 1 评论 -
【4G模块】中移物联ML302 + GD32F407 使用支持MQTT协议AT指令接入阿里云物联网平台
目录〇、目的、GD32、ML302相关简介0.目的:1.ML302:2.LTE Cat.1:3.GD32F407 一、GD芯片创建工程写驱动:LED、串口4、4G模块1.创建工程2.LED的GPIO驱动3.debug串口驱动4.4G模组的供电、开机、串口二、测试ML302能否正常连接TCP服务器 AT指令说明三、使用MQTT协议连接阿里云物联网平台四、成果展示:〇、目的、GD32、ML302相关简介0.目的:使用手上的开发板(mcu...原创 2020-10-15 19:22:21 · 8899 阅读 · 3 评论 -
【STM32】MCU(STM32f103)+TCP模组(ESP8266)移植阿里云MQTT的C_SDK到mcu 连接阿里云物联网
零、写在前面1.发开发开板:野火 stm32f103 指南者wifi芯片 :ESP8266 板载的模块C_SDK :阿里云官网 c_sdk_3.0.1版本2.开发过程一、阿里云物联网创建产品、设备这一部分略,网上非常多的例子,官网文档资料也很详细二、官网文档阅读三、移植过程四、编写wapper.c中的接口五、调试六、写在后面 总结...原创 2020-09-21 15:00:51 · 5130 阅读 · 11 评论 -
【stm32】UART串口中断方式收发任意长度数据(HAL库开发,中断中不使用库函数 使用寄存器和自定义存储函数)
一、起因为什么要写一个串口接收不定长数据,还要把数据保存起来??因为存起来的数据要用要判断要很具数据做不同的处理,要把数据拿到后解析。但是,最开始想当然的使用HAL库中的HAL_UART_Receive_IT() 和HAL_UART_Receive(),调用函数发现怎么也不对,总是有bug。网上查了一堆,博客很多,解决不了我的问题啊,按照他们的方法我还是不能接收到数据。后来参考了野火的教程,直接用寄存器,自己再单独写了个函数解决。二、代码main.c 直接写while循环就O..原创 2020-09-08 19:37:03 · 2289 阅读 · 0 评论 -
【stm32】wifi ESP8266的透传 实验二(HAL库开发)
一、总算完成了透传,感觉没几行代码,就是在昨天的基础上,对ESP8266的AT指令进行了封装,什么选择工作模式(STA 还是 AP),查询附近WIFI热点,连接WIFi,见解服务器的IP和端口,开启透传......我的代码的缺点:1.有点简单粗暴,逻辑程序,接收到串口的数据这类的操作没有一部处理,直接把串口1接收到的(电脑上位机再串口工具上发送的数据)同步转给串口3(ESP8266),没有用一个全局数组将数据保存下,之后改进吧。缺点2:发送指令的函数接口中,直接用HAL_Delay() 延时去做原创 2020-09-02 18:00:40 · 5419 阅读 · 2 评论 -
【stm32】wifi ESP8266的AT指令 实验一(HAL库开发)
零、前言任务:这一周,想学习esp8266wifi模块的使用个驱动,学习mqtt,学会阿里云物联网的服务器使用,将自己的智能设备挂载到阿里云上,服务器可以发送指令给我的开发板,开发板完成相应功能。而这第一步就是:先能把wifi模块驱动起来,我开发板的wifi模块是ESP8266,实验一:开发板发送AT,能够收到回复OK。就这么简单。参考的野火的资料,用的是标准固件库,而我想用HAL库开发,所以需要改一下下。完成了程序之后,才理解了一些资料。总结下来就是:我使用的方法就是AT指令,ESP.原创 2020-09-01 20:22:51 · 10980 阅读 · 8 评论 -
【stm32】转载 STM32 GPIO 配置之ODR, BSRR, BRR 详解
用stm32 的配置GPIO 来控制LED 显示状态,可用ODR,BSRR,BRR 直接来控制引脚输出状态.ODR寄存器可读可写:既能控制管脚为高电平,也能控制管脚为低电平。管脚对于位写1 gpio 管脚为高电平,写 0 为低电平BSRR 只写寄存器:[color=Red]既能控制管脚为高电平,也能控制管脚为低电平。对寄存器高 16bit 写1 对应管脚为低电平,对寄存器低16bit写1对应管脚为高电平。写 0 ,无动作BRR 只写寄存器:只能改变管脚状态为低电平,对寄存器 管脚对于位写转载 2020-08-17 18:05:47 · 850 阅读 · 0 评论 -
【STM32】HAL库 SPI DMA UART驱动开发
零、瞎BB一些 最近真的是.....过得一、二、三、四、原创 2020-08-14 10:58:49 · 1762 阅读 · 0 评论 -
【嵌入式】CAN
CANCAN(Controller Area Network,控制器局域网)是一种串行数据通信总线,也是应用最广泛的现场总线。1.现场总线:现场总线(Field Bus)是20世纪80年代出现的工控领域的计算机通信网络,安装在智能设备(仪表)与总控制站内的自控装置之间的一种串行、数字式、多点、双向传输的通信网络,被称为自动化领域的计算机局域网。常用的现场总线有:FF HI、PROF...原创 2020-04-09 15:44:12 · 854 阅读 · 0 评论 -
【嵌入式工程师的30岁总结】 真实
回想我刚毕业那年的春节后,招聘现场也异常火爆,我艰难地挤到了第一排,递上简历,得到两个问题,第一,学什么专业,会干啥,我如实回答,第二个问题,Linux玩到什么程度,我说还没开始,刚把声卡驱动写好。然后就告诉我两天后到公司二面,二面过程很长,但我还算顺利地过了。就业的问题算是解决了。我上学路过福州,正好赶上个招聘会,当时在福大礼堂,一个看起来非常牛气的公司在招人,打着省科技厅的名号,列了...转载 2020-03-11 14:54:39 · 1291 阅读 · 9 评论 -
【FreeRTOS】实验:任务管理 消息队列
学习两章的笔记:-----------------------------------------------------FreeRTOS的任务管理: /*任务与调度器的基本概念 任务的状态 FreeRTOS的任务相关函数*/ 任务:一个while(1)的函数,可认为是一系列独立任务的集合。每个任务在自己的环境中运行 调度器:在任务切入切出时保存上下文环境(寄存器值、堆栈...原创 2020-01-16 12:53:19 · 903 阅读 · 0 评论 -
【STM32】STM32中的寄存器 和 x86体系CPU中的寄存器
零、前言一直没太搞明白寄存器这个概念......一、STM32中的寄存器1.STM32芯片长啥样芯片四周都是引脚,这些引脚连接到各个传感器上,编程就是通过控制这些引脚输出高低电平然后来控制各个传感器。2.芯片里有啥?STM32芯片:内核 + 外设(GPIO、USART(串口)、I2C、SPI......)类比PC电脑:CPU+外设(显卡、内存、硬盘......)...原创 2020-01-14 13:49:10 · 3185 阅读 · 1 评论 -
【STM32】ARM汇编指令
在嵌入式的学习中,编程时,总会遇到一些汇编代码。。。不过一想也是,嵌入式本身就偏底层,和硬件接触,汇编代码效率更高,总会接触的。-----------------------------汇编语言是什么?汇编语言是程序设计语言的基础语言,是唯一可以直接与计算机硬件打交道的语言。汇编语言根据CPU的不同,也分为:ARM汇编语言、x86汇编语言ARM汇编指令: EQU...原创 2020-01-10 10:34:26 · 3449 阅读 · 0 评论 -
【FreeRTOS】内核实现:task.c
之前写博客说过:一直跟着野火的教程学习,从STM32基础、初级、高级,这部分学完就是下一部分的FreeRTOS。FreeRTOS的学习分两个阶段:1.从0到1写出FreeRTOS的内核,2.移植FreeRTOS到开发板上并逐步添加外设功能。这章就是手把手写task.c的内容:FreeRTOS学习记录:-------01.07----------------------...原创 2020-01-08 10:48:10 · 1700 阅读 · 0 评论 -
【STM32】F103学习笔记:SysTick
SysTick简介、功能框图讲解、SysTick定时实验讲解 SysTick:系统滴答定时器,24位,只能递减,存在于内核中,嵌套在NVIC中,所有的Cortex-M内核的单片机都具有这个定时器。 (内核中的外设) 功能框图:STK_CLK(72M/9M) -》STK_VAL递减计数器 ^ | STK_LOAD重装载...原创 2019-12-31 15:15:33 · 506 阅读 · 0 评论 -
【STM32】 RCC时钟树
-------------------------------------STM32-RCC复位时钟控制 2019-12-27 时钟:单片机的心脏 所有的外设想要工作都需要时钟 1.HSE时钟:精度较高 High Speed External Clock signal:高速的外部时钟 来源:无源晶振(4-16M),通常使用8M 控制:RCC_CR时钟控制寄存器的位16...原创 2019-12-27 17:40:46 · 358 阅读 · 0 评论 -
【STM32】基础理论知识学习1
0.CMSIShttps://baike.baidu.com/item/CMSIS/4082822ARM Cortex™ 微控制器软件接口标准(CMSIS:Cortex Microcontroller Software Interface Standard) 是 Cortex-M 处理器系列的与供应商无关的硬件抽象层(英文原文为:a vendor-independent hardware ...原创 2019-12-26 20:24:39 · 447 阅读 · 0 评论 -
【STM32】基础理论知识0 (笔记12.24)
1.LQFP144 很多开发板的资料,介绍引脚都会有这个编号百科:2.对寄存器的引脚输入高低电平的操作一直不太懂,0x01<<6是为什么?解答0x01<<6,就是第六个位置为1了大概就是。。。。以及为什么有0x01<<(16+6),因为前面文档提到了BSRR寄存器分为高16位和低16位,16+6=22,int4字节,第22位置1...原创 2019-12-26 09:50:41 · 497 阅读 · 0 评论 -
【STM32】UART串口通讯学习
零、前言:两天看完这本书:脑子里一堆一堆的知识.....睡一觉翻几个身,再到公司,成了一堆的浆糊...不行,我得做个实打实的东西,通过实践去理解。上次点亮的STM32开发板的LED灯,算是一个脚指头踏入STM32中。这次我想做一个串口通讯,用一根RS-232-usb线,将主板和电脑相连,板子能够接受我电脑发送的数据,并回复我得发送,本次实验就算成功。一、UART:(这篇博客...原创 2019-11-29 16:11:19 · 1399 阅读 · 0 评论 -
【STM32】开发板学习1 NUCLEO-L476RG:GPIO例程 点亮LED2灯
一、芯片以及开发板1.芯片:STM32L4761.开发板:Nuleo-L476RG官网查看详细信息以及下载各种用户手册、说明书等等......https://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-mpu-eval-tools/stm32-mcu-mpu...原创 2019-11-26 11:46:49 · 6629 阅读 · 7 评论 -
【单片机学习】02点亮LED灯/闪烁灯/跑马灯
一.前序:1.需要安装CH340驱动,没有驱动,单片机通过usb连接电脑就不会识别到;2.安装KEILC51软件,我理解该软件:一针对个C51芯片的集成开发环境。写C代码,生成该芯片类型的可执行文件,当然也可以调试等。3.安装程序烧入程序,将上一步生成的.hex软件,烧入单片机中。4.打开单片机开关,通电,运行我们写的程序。二.第一个灯代码:#include "re...原创 2019-11-25 13:24:07 · 1860 阅读 · 0 评论 -
【单片机学习】STM32 和 51 区别
学习链接:https://wenku.baidu.com/view/193e26de900ef12d2af90242a8956bec0975a58c.html1.学习51用寄存器,学习STM32用库51直接对寄存器编程,我们知道自己实打实的做了什么。STM32:-------------------------用了3个小时看完这篇50页的文档,写下感受:文档确实如...原创 2019-11-21 15:06:39 · 2377 阅读 · 0 评论 -
【单片机学习】01初识单片机
一.郭天祥10天学习单片机:https://www.bilibili.com/video/av16855653?from=search&seid=10911013164575569569可以跟着视频学习,不过我淘宝买了51单片机,准备根据店家发的资料来学习。资料很全,各种文档各种视频各种安装软件......C51中的数据类型扩充定义:基础知识:C51中的头文件:...原创 2019-11-20 13:08:12 · 990 阅读 · 0 评论 -
单片机的学习之路
作者:KATHLINN链接:https://www.zhihu.com/question/19600863/answer/483204198来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。一、软件应用0、学单片机首先要明白,一个单片机啥也干不了,学单片机的目的是学习怎么用单片机驱动外部设备,比如数码管,电机,液晶屏等,这个需要外围电路的配合,所以学习单...转载 2019-11-19 15:53:10 · 648 阅读 · 0 评论