
单片机开发
文章平均质量分 65
各种单片机
天安彩
这个人不懒
展开
-
ESP32-C3的存储器类型
内部 SRAM 中不用于指令 RAM 的部分都会作为 数据RAM供静态数据和动态分配(堆)使用。可以看到.bss和.data以及.vector放在了DRAM里,小部分代码.text放在了IRAM里,两部分共占用了内部SRAM的53743字节,剩下的空间用作堆。构成了数据ROM(DROM)。除此之外,可可以通过分区表去设定Flash的分区,存储用户自定义的数据。.rodata是只读数据也就是常量放在了DROM里,大部分代码.text放在了IROM里,两部分共占用了118879字节。原创 2023-09-07 17:33:11 · 676 阅读 · 0 评论 -
MPU6050和OLED的IIC器件地址区别
MPU6050都说MPU6050的地址是0x68,拉高A0之后地址0x69。这里两个地址都是没有移动过的。在利用stm32HAL库函数时,我们要填的是右移了一位的地址,也就是0xD0或者0xD2。OLED都说OLED的地址是0x78,改了电阻之后是0x7a。这里两个地址都是右移了的,实际上它的器件地址应该是0x3C和0x3D才是符合规范的。但是用HAL库函数时,我们还是得填右移了的地址,也就是0x78或者0x7a。器件地址不按规范给出,以及库函数竟然要求填右移之后的地址,原创 2021-12-10 18:23:40 · 3406 阅读 · 5 评论 -
u8g2库stm32移植记录(硬件IIC)
这是用stm32cubemx,hal库,硬件IIC的方式移植u8g2的教程:0.移植其实非常简单,文中代码较多只是因为我把官方的模板放上来了,实际上要写的代码只有三部分,代码量非常小的!如果不想看那么多,那么跟着前7步更改完库文件,然后精确定位到红色字加粗的三段代码处,把他们复制粘贴到main.c里就可以了。1.cubemx创建一个IIC工程,速率最好设置为400K,快一点。然后连好线。2.下载u8g2库,选择csrc文件夹下的代码进行移植。3.将csrc文件夹内除了自己器件原创 2021-12-09 13:39:14 · 6302 阅读 · 9 评论 -
Tivaware中MAP前缀函数与ROM前缀函数的区别
Tiva C系列单片机的ROM中出厂自带了Driver Lib的二进制函数代码,如果直接调用这些ROM中的函数就可以减少用户代码在Flash中的占用(用户代码是存放在Flash中的),如此一来Flash就有更多的剩余而可以存更多的用户数据。而使用这些ROM中的代码的方法其实就是使用ROM_前缀的函数,函数列表在rom.h文件中有列出。但是ROM是只读存储器,数据无法更新,库函数版本自然也是比较旧的。因而如果有些函数太旧了或者有些函数是后来新增的原先ROM中并没有,则只能使用无前缀的函数了。为了让用户原创 2021-08-09 16:59:28 · 536 阅读 · 0 评论 -
Tiva C(TM4C)的bootloader和启动过程与stm32对比
Gossip: 最近在咸鱼捡了个123GXL的板子,板子没到就先装好了环境,然后看了看资料,昨天板子到了,先点了个灯,然后把板子扔到一边又继续看资料。发现有些东西挺有意思的,比如它竟然出厂时在ROM中固化了库函数的二进制代码,用户程序可以直接跳转到ROM中去执行这些函数,那么Flash中就不必再存这些代码从而有更多的空间存其它数据了。boot loader:这玩意学习stm32时根本没听说过,倒是以前给手机刷机时知道要进这个地方,好像叫做程序引导器。在看Tiva...原创 2021-08-10 18:27:15 · 1491 阅读 · 0 评论 -
stm32驱动BMP388温度气压传感器
最近在搞一个小东西用到了气压传感器,最终选择了BMP388。搜索发现网上关于388的资料少之又少,官方给出的Arduino代码几千行全是英文注释。。。所以去翻看了一下数据手册做了些笔记,分享出来希望帮助有需要的同学。第一次发文章如有错误还请海涵。下面先贴上成功的图片: BMP388的一些特性介绍:它有FIFO存储器,可以不断采集数据存入其中然后一次读出,不使用。 有中断引脚,可产生FIFO溢出中断或者数据准...原创 2020-06-02 21:52:41 · 6889 阅读 · 20 评论