嵌入式C语言
文章平均质量分 73
快速入门嵌入式C,只学嵌入式相关。(5天)
内容:9个语句、数据类型、变量、运算符、函数、标准库
步骤:[入门]--STM32在线仿真--进阶--CX32l003(实物)--NRF52832(实物)--ESP32C3(实物)
jianqiang.xue
欢迎交流,寻找小众MCU厂商代理合作
展开
-
[嵌入式C][入门篇] 快速掌握基础5 (标准库)
介绍嵌入式软件常用的C 标准库: stdio.h、stdint.h、string.h、stdlib.h、stdbool.h、math.h等等。原创 2024-01-08 20:57:07 · 1344 阅读 · 0 评论 -
[嵌入式C][入门篇] 快速掌握基础4 (普通函数,递归函数,函数指针,弱函数)
介绍关于嵌入式软件常见的函数形式原创 2024-01-07 19:04:57 · 913 阅读 · 0 评论 -
[嵌入式C][入门篇] 快速掌握基础3 (运算符)
运算符类型,介绍嵌入式软件常用的知识点原创 2024-01-07 16:35:45 · 1069 阅读 · 0 评论 -
[嵌入式C][入门篇] 快速掌握基础2 (数据类型、常量、变量)
讲解数据类型和变量的大小和使用方式。(仅限入门,不涉及复杂知识)原创 2024-01-06 20:14:48 · 990 阅读 · 0 评论 -
[嵌入式C][入门篇] 快速掌握基础(9个语句)
快速掌握9个语句原创 2024-01-04 20:00:00 · 1195 阅读 · 0 评论 -
[C语言] 16进制整数转字符串
字符串其实就是上述ASCII表中的图形栏内容,转换成hex,即变成对应的十六进制数。通常以0123456789ABCDEF,进行转换。找规律:字符 ‘0’ 对应0x30 字符 ‘1’ 对应0x31 字符‘A’ 对应0x41 字符 ‘a’对应 0x61 等这些都是简单,早就知道的。这个是用于把字符串占两个字节的,合成为一个hex使用。比如:“FF” -> 0xff 字符串占用的是两个字节的数其实是一个hex的,那么就要位移合成。原创 2021-01-22 14:50:15 · 8183 阅读 · 2 评论 -
[C语言] sscanf如何实现sscanf_s?
C 库函数 int sscanf(const char *str, const char *format, …) 从字符串读取格式化输入。format – 这是 C 字符串,包含了以下各项中的一个或多个:空格字符、非空格字符 和 format 说明符。在MCU中并不支持sscanf_s,所以我们只能通过sscanf实现。str – 这是 C 字符串,是函数检索数据的源。下面是 sscanf() 函数的声明。format 说明符形式为 [=%[...原创 2022-08-09 18:56:23 · 605 阅读 · 0 评论 -
[单片机] x_strtok,安全分割函数 16进制整数转字符串
【代码】[单片机] x_strtok,安全分割函数 16进制整数转字符串。转载 2021-04-15 10:19:28 · 297 阅读 · 0 评论 -
重定向C库部分函数的方法,包含printf、malloc、free、fopen等函数
如在移植LUA解释器时,源码中会调用C库的fopen、fread等函数,一定要将前面的fputc注释掉,因为在编译时fputc的优先级要大于_sys_write,这就导致printf、fwirte都会重定向到fputc中。以及在产品使用中,通过对关键运行状态的输出,对于运行故障的判断分析,具有很高的价值。当动态分配内存时,存储的是字符型数据,每个元素1字节,所以字节数刚好等于需要存储的元素个数(字符数+1);如果存储的是整型或浮点型数据,字节数等于“需要存储的元素个数 * 一个元素的字节数”,原创 2023-02-21 15:23:49 · 892 阅读 · 0 评论 -
[单片机框架] [str_hex] 字符串和16进制互转 string to hex
C语言的字符串操作并不像java,Csharp那样提供直接的方法,简单粗暴。所以,在转换的时候往往费力费时。原创 2021-10-13 11:55:20 · 1106 阅读 · 0 评论 -
常用变量缩写
argument 可缩写为 argbuffer 可缩写为 buffclock 可缩写为 clkcommand 可缩写为 cmdcompare 可缩写为 cmpconfiguration 可缩写为 cfgdevice 可缩写为 deverror 可缩写为 errhexadecimal 可缩写为 hexincrement 可缩写为 incinitialize 可缩写为 initmaximum 可缩写为 maxmessage 可缩写为 msgminimum 可缩写为 minparame原创 2020-12-21 15:59:57 · 1189 阅读 · 0 评论 -
C语言中使用 #pragma pack 和 __attribute(aligned(n)) 【非常有用的字节对齐用法说明】
更改c编译器的缺省字节对齐方式:在缺省情况下,c编译器为每一个变量或数据单元按其自然对界条件分配空间;C语言中的结构体在内存中的存储是按照字节对齐的方式进行的。字节对齐的目的是为了提高内存访问的效率,避免出现未对齐的数据访问,从而导致程序崩溃或者数据错误的情况。在C语言中,结构体的字节对齐方式是由编译器来决定的。编译器会根据结构体中各个成员的类型和大小来进行字节对齐。一般来说,结构体中的成员按照其大小从小到大进行排列,然后根据编译器的字节对齐规则进行对齐。原创 2022-01-04 18:37:00 · 1050 阅读 · 1 评论 -
C语言宏定义和宏定义函数
C语言宏定义和宏定义函数 宏定义可以帮助我们防止出错,提高代码的可移植性和可读性等。在软件开发过程中,经常有一些常用或者通用的功能或者代码段,这些功能既可以写成函数,也可以封装成为宏定义。那么究竟是用函数好,还是宏定义好?这就要求我们对二者进行合理的取舍。 我们来看一个例子,比较两个数或者表达式大小,首先我们把它写成宏定义: #define MAX( a, b) ( (a) > (b) (a) : (b) ) 其次,把它用函数来实现: int max( int a, int b转载 2021-11-23 21:41:53 · 378 阅读 · 1 评论 -
C语言编译成DLL文件,给其他程序调用。C语言编译成EXE文件,执行简单功能。HEX文件合并
在联合开发过程中,用c语言写好功能函数,给其他上位机程序调用。原创 2023-06-12 20:09:56 · 1337 阅读 · 0 评论 -
编写嵌入式软件代码的10个技巧
代码维护是应用程序开发的重要方面,而为了缩短上市时间,通常会忽略代码维护。对于某些应用程序,这可能不会造成重大问题,因为这些应用程序的寿命很短,或者已部署该应用程序,并且再也不会碰它。但是,嵌入式系统应用程序的使用寿命可能长达数十年,这意味着一些早期的错误可能会在以后导致可观的成本。在开发可能具有长寿命的嵌入式应用程序时,在设计和实现上都必须考虑维护。以下技巧绝不会构成一个完整列表,但是它们解决了一些常见问题,这些问题可能会使您的应用程序维护者有理由诅咒您的名字,并且不要忘记您可能是其中之一!提示1:转载 2020-05-29 10:36:18 · 1613 阅读 · 0 评论