C/C++
C/C++
如来神指
这个作者很懒,什么都没留下…
展开
-
如何在32位MCU用printf()函数打印64位数据
【代码】如何在32位MCU用printf()函数打印64位数据。原创 2023-09-22 10:04:41 · 1324 阅读 · 0 评论 -
逻辑分析仪分析I2C SlaveAddr时产生的疑惑
分析发现逻辑分析仪I2C协议解析有关于slave address display format选项,选shift时, slave address为。所以,当选shift时,取前7位:“1010 100”,shift后为“0101 0100”,即 slave address为。I2C slave address为地址字节的D7-D1位,D0位表示是读(‘0’)还是写(‘1’)。使用逻辑分析仪分析协议时,显示其 slave address为。,选unshift时为。,选unshift时为。原创 2023-08-21 15:41:31 · 328 阅读 · 0 评论 -
一个未初始化的局部变量引起的BUG(二)-PC13引脚异常
对于未明确初始化的局部变量,一定要慎重处理。原创 2023-05-29 11:04:13 · 947 阅读 · 0 评论 -
一个未初始化的局部变量引起的BUG(一)
在定义局部变量时,尽量初始化局变量,以预防不可预知的BUG。原创 2023-04-14 13:41:51 · 162 阅读 · 0 评论 -
AM335x初始化代码分析
AM335x初始化代码分析原创 2022-07-16 15:55:00 · 404 阅读 · 0 评论 -
gcc常用编译命令
gcc -Wall main.cpp -o main -lstdc++原创 2021-08-25 11:38:14 · 184 阅读 · 0 评论 -
C++开发知识点
const_castconst_cast是一个基于C语言编程开发的运算方法,其主要作用是:修改类型的const或volatile属性。使用该运算方法可以返回一个指向非常量的指针(或引用)指向b1,就可以通过该指针(或引用)对它的数据成员任意改变。:const_cast<type_id> (expression)该运算符用来修改类型的const或volatile属性。除了const 或volatile修饰之外, type_id和expression的类型是一样的。一、常量指针被转化成非.转载 2022-04-12 14:48:41 · 156 阅读 · 0 评论 -
Keil编译设置里的“fromelf.exe --bin -o “$L@L.bin“ “#L“到底什么意思?
% File name with extension (PROJECT1.UVPROJ)·# File name with extension and complete path specification (C:\MYPROJECT\PROJECT1.UVPROJ)@ File name without extension or path specification (PROJECT1)$ Path name of a file. Path names get extended w.原创 2021-12-23 09:29:23 · 3743 阅读 · 0 评论 -
__attribute__((packed))
struct str_a{ uint8_t a; uint32_t b; uint8_t c[1];};printf("str_a:%d\n",sizeof(struct str_a)); struct str_b{ uint8_t a; uint32_t b; uint8_t c[1];} __attribute__((packed));printf("packet str_b:%d\n",sizeof(struct str_b));k原创 2021-10-14 09:47:55 · 273 阅读 · 0 评论 -
C语言高级操作用法 之offsetof()
1、#define offsetof(TYPE, MEMBER) ((u32) & ((TYPE *)0)->MEMBER )返回TYPE类型中,MEMBER成员变量相对type类型变量开头的地址偏移例:#define EVENT_INDEX_ADDR (EVENT_ADDR + offsetof(NVM_ExtEeprom_t, EventIndex))#define...原创 2020-03-30 16:11:45 · 403 阅读 · 0 评论