• 欢迎访问我的博客,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站
  • 本网站关闭了评论功能,联系请点击→邮箱
  • Ctrl+D 可快捷收藏本站点

最新发布 第2页

风吟御剑于心,且听风吟

STM32

IAP的两种实现方式

IAP的两种实现方式
在Coretext-M3与Coretext-M4核中,在System Control Block中存在一个向量表偏移量寄存器 VTOR(0xE000ED08),系统产生中断后,内核通过这个寄存器的值来找到中断向量表的地址,进而执行中断例程代码,当然,此寄存器的值是可以修改的,它的默认值为0,由于映射关系,实际上就是指向映射地址,比如0x0800 0000。值……继续阅读 »

gql 4年前 (2021-04-01) 1026浏览

C/C++

C/C++两个数组之间可以直接赋值吗?

C/C++两个数组之间可以直接赋值吗?
想屁吃呢,当然不可以! 但是我们可以通过其他的途径实现,首先我们知道结构体是可以直接赋值操作的(可以去看编译好的汇编代码,其中结构体赋值采用是类似于memcpy这种形式,而不是逐个字段的拷贝。)不管是简单的数据类型如int、float等或者数组、指针、结构体等这些复杂数据类型,只要两个结构体类型相同,就可以实现赋值。但是值得注意的是,结构体在赋值的时候只是简……继续阅读 »

gql 4年前 (2021-03-30) 1126浏览

C/C++

C++的全局对象无法调用构造函数?

C++的全局对象无法调用构造函数?
在C++中,全局变量和静态变量的构造函数需要在main函数执行前执行,所以需要__libc_init_array(libc 库内置的函数, 负责一些内存的初始化) 来初始化一些东西。 修改启动文件(gcc)版本 /* Call the clock system intitialization function.*/ bl SystemInit /* Call……继续阅读 »

gql 4年前 (2021-03-25) 902浏览

STM32

STM32GPIO配置

STM32GPIO配置
有如下一段配置F030的SPI的GPIO的程序,其中PB13为SCK,PB14为MISO,PB15为MOSI。 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15; GPIO_InitStructure.GPIO_Speed = GPIO_Medium_Speed; GPIO_I……继续阅读 »

gql 4年前 (2021-03-24) 914浏览

C/C++

绘制工程模板结构图(一)

绘制工程模板结构图(一)
为了C++构建STM32的工程模板尽可能降低软件的逻辑处理部分与硬件的耦合,可以使业务相关功能脱离硬件运行。所以应该抽象出与硬件相关的操作。由于内容过多,不能一一列举,具体内容请查看源文件。 创建core文件夹–系统常用定义 创建cpu_type文件 该文件对常见的CPU类型进行枚举定义,记录各个系列的芯片ID的起始地址,flash容量地址等信息……继续阅读 »

gql 4年前 (2021-03-02) 956浏览 0评论

C++构建STM32工程

简介–C++构建STM32工程模板

简介–C++构建STM32工程模板
为什么采用C++? 现在的主流单片机大多采用ARM内核,而ARM对C++的支持还是非常给力的。而面向对象程序设计优于传统的结构化程序设计,其优越性表现在,它有希望解决软件工程的两个主要的问题——软件复杂性控制和软件生产率的提高。   使用C++构建STM32工程模板的优点 C++构建STM32工程模板将对硬件的依赖独立封装,尽可能降低软件的逻辑处理……继续阅读 »

gql 4年前 (2021-02-24) 965浏览 0评论