C
c相关
梓默
这个作者很懒,什么都没留下…
展开
-
简明状态机C语言实现与应用(大致框架)
/状态//状态执行函数 参数是事件switch。原创 2023-10-26 14:42:20 · 502 阅读 · 0 评论 -
C语言二级指针
为什么要用二级指针原创 2023-02-16 16:13:27 · 524 阅读 · 0 评论 -
关于缺省参数 在VS studio中编译不过的原因
关于缺省参数 在VS studio中编译不过的原因原创 2020-11-26 00:05:06 · 160 阅读 · 0 评论 -
一句话解释UNION 共用体
共用体表示几个变量共用一个内存位置, 在不同的时间保存不同的数据类型和不同长度的变量。 在union中,所有的共用体成员共用一个空间, 并且同一时间只能储存其中一个成员变量的值。...原创 2020-11-25 17:15:06 · 164 阅读 · 0 评论 -
arm-none-eabi-gcc 不识别__attribute__((at(xxx))命令如何将数据定义到外部SDAM(已验证)
可以利用__attribute__((section(".xxx")))实现同样的效果步骤:1.在linker连接文件中添加指定SDRAM加偏移地址MEMORY{ rom (rx) : ORIGIN = 0x08000000, LENGTH = 2048k - 64k ram (rwx) : ORIGIN = 0x20000000, LENGTH = 128k ram1 (rwx) : ORIGIN = 0x10000000, LENGTH = 64k SDRAM (rwx) : OR原创 2020-11-25 16:48:10 · 1661 阅读 · 0 评论 -
C/C++应避免的一些坑和问题
#define SPI_BUFFER_SIZE 4*1024for (uint16_t i = 0; i <( Size / SPI_BUFFER_SIZE); i++)//由于宏定义是直接替换,所以 i< ( Size / SPI_BUFFER_SIZE) 实际是 i< ( Size / 4 * 1024) // * /是同级运算 //后者往往不是我们想要的结果为了避免这种情况 最好宏定义时最好不带运算符#define SPI_BUFFER_SIZE 4...原创 2020-11-24 14:15:32 · 295 阅读 · 2 评论 -
热敏电阻 温度 电阻换算
R = R(25℃)•exp[B•(1/T - 1/298.15)]Tbeta = 1/(1/(273.15+25)+1/Beta*log(Rth/R25))-273.15;求T1 =ln(Rt/R)/B+1/T2C程序:#include “math.h”const float Rp=10000.0; //10Kconst float T2 = (273.15+25.0);;//T2const float Bx = 3950.0;//Bconst float Ka = 273.15;flo原创 2020-07-20 12:21:05 · 3184 阅读 · 0 评论 -
C语言 常见函数用法
atio 将字符串转化为整数例子: int val; char str[20]; strcpy(str, "12345678"); val = atoi(str); printf("字符串值 = %s, 整型值 = %d\n", str, val);字符串值 = 12345678, 整型值 = 12345678描述:详情链接...原创 2020-03-20 16:42:00 · 387 阅读 · 0 评论 -
typedef 使用,简化变量定义
在一些情况下需要定义一个变量集合,需要包含不同的变量类型来表示事物的状态;如typedef struct { char* txt; //问题描述 bool is_problem; //是否有问题}Module_stat_t;extern Module_stat_t Board_Diagnose[DIAG_MAX];这样利用 Board_D...原创 2020-03-20 15:57:53 · 452 阅读 · 0 评论 -
float数组转换成uint8_t数组,用于串口发送
在一些情况下,需要将float数组转换成uint8_t格式;因为某些函数的入口是uint8_t;如串口DMA发送函数:HAL_UART_Transmit_DMA此方法会牺牲数据精度;使用请考虑精度要求。//Float To Uint8 函数;使用round函数四舍五入,取整并存放发到char_arrayvoid FloatToUint8(uint8_t * char_array,float3...原创 2020-02-14 23:32:29 · 8847 阅读 · 0 评论 -
C -结构体变量定义与外部声明
结构体变量声明步骤:一般放在头文件中。1.typedef struct{uint8_t receive_flag:1;//空闲接收标记uint8_t dmaSend_flag:1;//发送完成标记uint16_t rx_len;//接收长度uint8_t usartDMA_rxBuf[RECEIVELEN];//DMA接收缓存}USART_RECEIVETYPE;2.USART_R...原创 2020-02-14 02:19:09 · 3002 阅读 · 0 评论