![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
单片机学习
文章平均质量分 93
Entronk_star
这个作者很懒,什么都没留下…
展开
-
基于STM32F030的程序跳转后跑飞问题以及IAP配置细节
程序跳转后跑飞 关键问题描述:(只想看IAP细节配置的可以往下拉,前面的问题分析跳过)IAP远程更新程序配置无误,且程序能程序跳转。但跳转后程序总是在固定的程序段跑飞重启设备。尝试过的办法:1、怀疑中断向量表重映射地址不对应,由于M0内核的特殊性,是把中断向量复制到RAM上,就各种方案尝试分配RAM区。结果如下图:RAM1必须是0x200000B4开头,因为stm32f030的中断向量表只有45个中断向量,每个向量地址是32位的即4个字节,45*4=0xB4,因此RAM必须留出0原创 2020-09-06 15:01:54 · 3044 阅读 · 2 评论 -
FreeRTOS任务管理各过程算法总结
1开启任务调度器:在此函数包括创建空闲任务(优先级最低),创建定时器服务任务(软件定时器,该步骤是条件编译可以用宏关闭)。然后会先关闭中断,在SVC中断服务函数中再重新打开。配置时间统计功能的定时器(条件编译,一般调试时才会用)。还包括其他硬件的初始化如滴答定时器、FPU单元、PendSV中断等等(这些有相关函数去调用实现或是寄存器直接配置)。2空闲任务的意义:保证系统任何时刻都有一个任务进行...原创 2020-01-17 21:06:47 · 445 阅读 · 0 评论 -
FreeRTOS中断基本核心知识
最多有8位配置中断优先级(理论上每个中断都有这样的一个优先级寄存器配置)。最高有256个优先级128个抢占优先级,但为了节省设计与结构一般不会8位全用上。根据不同厂家的不同芯片用来配置中断优先级的位数会不同。 因此会有优先级分组,即分两组,x位作为抢占优先级y位做次优先级方便管理优先级(x、y根据优先级分组确定)。Stm32由4个相邻的中断配置并成在一个32位寄存器里。 FreeRTOS不能管...原创 2020-01-15 17:05:42 · 292 阅读 · 0 评论 -
总结STM32系列GPIO各输出输入模式
一、习惯性称谓解析1复用输出模式:即引脚作为单片机某外设(如CAN等,ADC/DAC除外)的输入或输出,引脚电平信号与其关联的外设相关。即引脚电信号非寄存器直接影响的模式(ADC/DAC除外)。2模拟输入/输出:电平(模拟)信号与ADC/DAC直接相关的模式,即使用ADC/DAC时候。3开漏输出:引脚电平不完全由片内外设或输出数据寄存器决定,一些情况下还需由引脚上下拉电阻决定。4推...原创 2020-01-14 15:28:20 · 991 阅读 · 0 评论 -
ST-link下载程序SWD配置步骤
以下解释以stm32f4为例子1、ST-link驱动确认下载好,打开电脑设备管理器如下情况表示驱动成功安装2、确认硬件接线无误,可以参考别人的博客https://blog.csdn.net/qq_26093511/article/details/59484249(SWD方式本人亲自验证无误)。但注意:这段话我需要更正一下第一脚的VDD可能板子不同设计者通常会第1脚第2脚混淆(要自己...原创 2020-01-14 01:47:54 · 5238 阅读 · 0 评论 -
Free RTOS系统配置——按功能分类
系统功能简介:系统功能部分的宏配置是FreeRTOS系统运行的基本要求,是必须要检查、配置的宏·CPU相关(4)设置CPU频率configCPU_CLOCK_HZ在FreeRTOSConfig.h文件定义根据CPU频率定义(8)同优先级的CPU使用权configIDLE_SHOULD_YIELD在FreeRTOS.h文件定义定义为 1:同优先级空闲任务让出CPU...原创 2019-09-17 22:13:33 · 574 阅读 · 0 评论 -
单片机编程实用的函数封装方法原理——新手强化编程思路
大前提:C语言基础扎实且熟悉单片机编程(或者会自己查资料解决基础问题)小前提:该功能较为复杂不封装函数难以促成简洁的代码第一步:寻找自己要实现的功能的所有子功能的介绍及实现办法举个例子:当我们目标功能是A,查该功能的资料得知在这款单片机(模块)要实现这个功能需要同时实现功能B和C,然而还得知做B功能前要先实现C功能。接着说我们去看这两个功能怎么实现,又发...原创 2019-07-31 22:39:52 · 2747 阅读 · 0 评论 -
W25Q128的SPI通信原理及编程举例——通俗讲解
一、原理方块图正规电子原理解说①根据方块图了解主机、从机的spi的硬件内外配置及其相关功能如果是单片机上的spi则会有很多相关寄存器配置spi通信的模式或读取spi通信状态,这个需要根据不同单片机型号去查这单片机数据手册然后写对应程序最终初始化好spi,或者功能运作过程中有需要可读取通信状态。举个例子就是下面这个单片机上对于spi通信记录其状态的...原创 2019-07-31 15:34:22 · 9667 阅读 · 1 评论 -
CAN通信单片机编程——最快入手方法
为了您的学习更有效率,别再做无头苍蝇,虽然没有捷径但有前人的学习经验可以借鉴如果您使用的单片机不带CAN总线,那么本篇文章对您不适用(编程环境是Keil5)使用stm32系列单片机开发CAN的朋友们和以下内容契合度更高第一步:简单的了解CAN(如果在真正初次使用CAN前就把它很深入地剖解,那你是真的闲。建议编程的时候才深剖)①CAN是一种通信协议(举例485,422,232,I...原创 2019-08-02 20:29:30 · 10573 阅读 · 0 评论 -
各内存大小的EEPROM的IIC通信原理
1、引脚图知识点一:A0A1A2是硬件控制该设备地址知识点二:WP读写保护位,SCL时钟信号(可模拟),SDA数据信号(可模拟)2、EEPROM时序图知识点一:时序就是一种mcu与硬件之间的通信协议决定的拥有变化占空比的模拟信号(简单的说就是用高低电平变化来表达他们之间的通信方式或者通俗的说就是他们自己的“方言”交流)。时序的读写步骤看下面两个图,看得懂英文就懂了。(ACK是应...原创 2019-07-29 15:11:42 · 3645 阅读 · 2 评论 -
合泰芯片HT66F2390的uart发送/接收字符串函数封装与说明
首先用到uart口肯定要操作相应的寄存器初始化对应要使用的uart。这里重点不讲这个,初始化见最底下的示例。下面介绍收发函数封装。(一些变量可能是全局变量,请自行在函数外定义)一、发送字符函数函数原型:void send_char(char s)参数说明:s是需要发送的字符数据,类型是字符类型,大小=8bit功能:发送一个字符类型数据到uart的数据缓冲器(txrrxrn...原创 2019-05-24 16:22:50 · 5696 阅读 · 8 评论