随笔分类 - 32位MCU学习
摘要:1、关于SysTick CH32F103/203: CH32F103 /203 SysTick和STM32F103一样为Cortex-M3内核,是一个24位的向下递减计数器,计数器每计数一次的时间为1/SYSCLK(系统主频)。当SysTick重装载数寄存器的值递减到0的时候,产生一次中断。 CH3
阅读全文
摘要:__attribute__配合使用参数介绍 1、aligned 指定对象的对齐格式(以字节为单位),如: struct S { short b[3]; } __attribute__ ((aligned (8))); typedef int int32_t __attribute__ ((align
阅读全文
摘要:1、关于DACCH32V307的数字/模拟转换模块(DAC),包含 2 个可配置 8/12 位数字输入转换 2 路模拟电压输出的转换器。内置三角波、噪声波形发生器,支持多种事件触发转换,DMA 功能等。 2、关于DAC DMA使用关于DMA功能,手册介绍如下: 即使用DAC DMA的时候,必须使用定
阅读全文
摘要:第一种情况:将数组或某一函数单独放在FLASH某个位置,具体配置如下图。 .text1 : { . = ALIGN(4); *(.text1) *(.text1.*) . = ALIGN(4); } >FLASH1 AT>FLASH1 __attribute__((section(".text1")
阅读全文
摘要:关于使用定时器计算外部脉冲的方式,除却使用输入捕获方式之外,还可以使用定时器的ETR计数方式。如下图,首先关于定时器的时钟输入来源,可以分为4类,如下图: 当使用选择外部时钟源模式2时,可在外部时钟输入引脚的每一个上升沿或者下降沿计数,如下图介绍: 关于使用ETR计数功能的初始化配置程序,具体如下:
阅读全文
摘要:修改ld文件,如下图: . = ORIGIN(RAM) + 0x100; *(.TEST) 将变量加入__attribute__((section(".TEST")))声明,如下图 编译后的效果如图所示
阅读全文
摘要:前言:该篇文章以CH32V307硬件IIC驱动OLED为基础,介绍u8g2库的移植 1、关于u8g2u8g2是一个用于嵌入式设备设备的单色图形库,支持单色OLED和LCD,包含多种控制器(具体见库下载链接页面介绍)。u8g2图形库支持多种字体,支持各种简单和复杂图形的绘制,具有完整的驱动函数库,使用
阅读全文
摘要:注意:以下修改,都只是在原来基础上添加,不做删减 在启动文件做修改,增加下列代码: 2: /* Load data section from flash to RAM */ la a0, _highcode_lma la a1, _highcode_vma_start la a2, _highcod
阅读全文
摘要:关于重映射功能中ETR后面的数字编号,可参考下图理解,表示不同的引脚以及是部分重映射还是完全重映射。 以TIM2为例,可以看到默认映射对应的引脚为PA0、PA1、PA2、PA3;部分重映射的引脚为PA15、PB3、PA2、PA3,只改变了部分引脚,所以叫部分重映射;设置为完全重映射时为PA15,PB
阅读全文
摘要:关于中断延迟(响应)时间 目前MCU常用内核有ARM的Cortex-M0、M3、M4、M7以及RISC-V内核等,这些内核的延迟时间是不一样的。所谓中断延迟(响应)时间,即从中断触发条件产生到中断函数执行的时间。 中断延迟时间的单位是内核的时钟周期,比如若系统主频是72M,则内核的时钟周期是1/72
阅读全文
摘要:当我们使用电烙铁焊接芯片或者其他模块时,要注意将电烙铁接地,否则受电烙铁头存在交流电的影响,容易导致芯片引脚或模块收到毁坏。
阅读全文

浙公网安备 33010602011771号