寄存器mstatus v307 32
关于高级定时器 重复计数值寄存器的使用介绍
来源:https://www.cnblogs.com/liaigu/p/17782198.html 在使用高级定时器进行初始化的时候,相较于通用定时器,在初始化的时候会有一个重复计数的配置,如下图: 该位主要是对重复计数值寄存器进行配置,如下图: 关于该配置的使用说明,具体如下: 以定时器中断为例: ......
32-外部中断
EXTI外部中断,TIM定时器中断,ADC,UASRT,SPI,I2C,RTC NVIC(嵌套中断向量控制器) EXTI外部中断 中断响应是cpu处理中断,事件响应是其他外设响应中断。 ......
STM32F103C8T6移植FreeRTOS过程记录
一、创建基于官方库的裸机工程(这教程很多,每个人创建的工程风格也不一样,就不多赘述了) 二、下载FreeRTOS开源代码(FreeRTOS - Market leading RTOS (Real Time Operating System) for embedded systems with Int ......
CH32F系列MCU固件中加入版本信息方法
具体方法如下: 1、新建一个.c文件,如banben.c 2、新建文件中加入以下信息,如下图 #define VERINFO_ADDR_BASE (0x0800F000) //存放FLASH的地址 const char Software_Ver[] __attribute__((at(VERINFO ......
关于STM32F407ZGT6的USB损坏后使用ST-Link和USART1实现串口功能
开发板:STM32F407ZGT6; 目标:想使用软件“串口调试助手” 情况:开发板上的USB_UART口所在器件损坏或者直接没有; 解决办法:查看该开发板的原理图,可得:串口1的RX接TXD,串口1的TX接RXD,那么按如下步骤操作:1、现在使用USB转TTL模块,将串口1的RX接USB转TTL模 ......
关于CH32V系列MCU浮点打印使用配置差异
当程序中需要打印浮点数时,按照下图配置任意勾选一个即可打印浮点数: 当勾选第一个时,float打印会输出正确数值,具体如下: 当勾选第二个时,float打印输出数值如下(5.20会输出5.19),具体如下。 此时若需要输出正确数值5.20,将float类型改为double类型即可 产生该现象的原因: ......
关于CH32V系列MCU FLASH地址的分配
来源:https://www.cnblogs.com/liaigu/p/17784283.html 关于在MRS开发环境下,针对CH32V系列MCU FLASH分配,具体方法如下: 比如开辟一段空间,存放数组等数据,首先在ld文件中修改FLASH分配,如下图: .consumer_flash1 : ......
关于CH32系列MCU设置noinit变量
关于noinit定义:noinit段指的是芯片SRAM的一块内存区域(注意是RAM区而非Flash),在该段定义的变量、或者函数,在除了掉电之外的任何芯片复位的情况下都不会被重新初始化。 关于noinit作用:no_init段常用来保存一些敏感信息,特殊应用场合下的不能被复位的数据或者做复位判断标志 ......
关于CH32V系列MCU FLASH地址的分配
关于在MRS开发环境下,针对CH32V系列MCU FLASH分配,具体方法如下: 比如开辟一段空间,存放数组等数据,首先在ld文件中修改FLASH分配,如下图: .consumer_flash1 : { . = ALIGN(4); }AT>FLASH1 .consumer_flash2 : { . ......
hc32f4a0 bootloader跳转app后中断异常
起因 从HC32F460上移植bootloader到HC32F4A0上后,应用程序无法正常使用。主要代码如下: void execute_user_code(uint32_t appxaddr) { uint32_t JumpAddress; sram_size = (*(uint32_t *)ap ......
CH32X035 模拟IIC驱动EEPROM
来源:https://www.cnblogs.com/liaigu/p/17784027.html 在CH32X035的GPIO模式配置选项中,并没有开漏输出的配置模式,如下图。在使用GPIO模拟IIC时,可在初始化时将其配置成推挽输出模式,在需要时切换对应的输入输出模式,以下是CH32X035 G ......
CH32X035 模拟IIC驱动EEPROM
在CH32X035的GPIO模式配置选项中,并没有开漏输出的配置模式,如下图。在使用GPIO模拟IIC时,可在初始化时将其配置成推挽输出模式,在需要时切换对应的输入输出模式,以下是CH32X035 GPIO模拟IIC的实现例程。 具体程序代码如下: iic.h文件: #ifndef __IIC_H ......
文件stm32f4xx.h 解析
本文简短不看版:这个是头文件的头文件 这个文件是个头文件,它又包含了两个头文件(通过在 Keil 魔法棒工具定义两个宏 STM32F407xx 和 USE_HAL_DRIVER 开关) #include "stm32f407.h" //某一特定F4型号芯片寄存器定义 #include "stm32f ......
c语言代码练习32
问;求出0~100000之间的所有水仙花数,并输出 #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <math.h> int main() { int i = 0; for (i = 0; i <= 100000; i++) ......
stm32单片机在Keil环境下定义的变量都存储到哪去了?(以STM32f1系列为例)
stm32f1系列单片机,在keil5环境下编译后显示四个储存区域,分别是 Code, RO-data,RW-data,ZI-data Code为程序代码部分RO-data 表示 程序定义的常量constRW-data 表示 已初始化的全局变量ZI-data 表示 未初始化的全局变量 储存区域如下: ......
关于高级定时器 重复计数值寄存器的使用介绍
在使用高级定时器进行初始化的时候,相较于通用定时器,在初始化的时候会有一个重复计数的配置,如下图: 该位主要是对重复计数值寄存器进行配置,如下图: 关于该配置的使用说明,具体如下: 以定时器中断为例: 1、一般默认情况下,将重复计数值设置为0。配置为向上计数时,当从0计数到arr值的时候进入一次中断 ......
stm32_1_开发环境配置
20年参加ROBOMASTER,学习到stm32。21年大学毕业,参加土木类工作,把之前学到的全都丢弃了。最后还是靠stm32找到了工作。感谢这门技术,把这几年学到的东西做个总结。初学者还是建议看正点原子,野火视频教材。 正点原子:http://47.111.11.73/docs/index.htm ......
matlab生成32*32wheel图像
clear;clc;close x = zeros(32,32); a = 1; x(6,5)=a; x(6,28)=a; x(7,4:6)=a; x(7,27:29)=a; x(8,3:7)=a; x(8,26:30)=a; x(9,3:8)=a; x(9,25:30)=a; x(10,2:9)= ......
esp32笔记[8]-rust的定时器中断点灯
摘要 使用rust开发esp32c3实现定时器中断点亮led灯. 超链接 esp32笔记[7]-使用rust+zig开发入门 平台信息 esp32c3 rust Mutex锁 use core::cell::RefCell; use critical_section::Mutex;//no-std库 ......
汇编 & 寄存器 总结
栈为什么从高地址向地址增长, 因为更好的利用内存, 一个从高往低,一个从低往高,最终内存被充分利用 pop 与 push 指令都是堆栈顶指针的操作 pop 栈顶指针esp增加,弹出栈中内存数据到寄存器 push 栈顶指针esp减小, 将寄存器(或许指定的数据)中的数据写入到栈内存 ......
esp32笔记[7]-使用rust+zig开发入门
摘要 使用rust(no-std)+zig⚡️开发esp32c3入门,测试例程,实现rust调用zig中的加法函数并通过串口打印. 平台信息 esp32c3 rust zig esp32c3简介 [https://docs.espressif.com/projects/esp-idf/zh_CN/l ......
STM32采集风速仪+ESP8266显示OLED+阿里云上报
ESP代码 #include <ESP8266WiFi.h> static WiFiClient espClient; #include <ArduinoJson.h> #include <AliyunIoTSDK.h> AliyunIoTSDK iot; #define PRODUCT_KEY " ......
操作系统之寄存器
1、通用寄存器 累加寄存器--主要用于输入/输出和大规模的指令运算 基址寄存器--用来存储基础访问地址 计数寄存器--CX 寄存器在迭代的操作中会循环计数 数据寄存器--它也用于输入/输出操作。它还与 AX 寄存器以及 DX 一起使用,用于涉及大数值的乘法和除法运算 2、段寄存器--保存段基地址 3 ......
2. STM32 HAL库结构的初步分析
1. 以串口为例,添加串口的HAL库源码 我们使用的是异步通信的方式,因此将stm32f1xx_hal_uart.c添加进来。在本次学习中,串口我们使用3种方式去学习,轮询、中断、DMA方式。因此,我们也将DMA的HAL库源码添加进来。 ......
ardunio-stm32采集风速传感器
波特率都是4800 设备地址 默认01 广播FF #define mySerial Serial2 byte Msg_getdata[8]={0x01,0x03,0x00,0x00,0x00,0x02,0xC4,0x0B}; char RecData[9]={0}; // 校验 uint16_t m ......
IMU寄存器配置说明
在使用IMU前需要先通过寄存器配置IMU的量程(range)和数据输出频率(ODR)等信息,下面简单说一下如何计算寄存器中对应参数的值。 以TDK 的一款MEMS IMU的Gyro为例:假设 range 配置为:250deg/s,ODR配置为:200HZ 其实就是计算一个8位的二进制的数 XXXX ......