stm32
CallMeSumo
这个作者很懒,什么都没留下…
展开
-
STM32中使用long long 型的数据以及数据的转换
因为要保存运单号码,又不想使用字符串保存,所以就用了uint_64_t的类型保存数据,传输的时候要将其转为字节数组,使用联合体能方便进行转换//8个字节长度的联合体,注意,因为M3是使用的小端模式,所以高字节的数据是保存在高地址中的union byte8{ uint64_t u64_buf; u8 u8_buf[8]; u16 u16_buf[4]; u32 u32_buf[2原创 2017-04-21 10:48:20 · 11334 阅读 · 1 评论 -
c语言结构体数据对齐问题
问题描述:在开发过程中,构建了一个结构体,然后将结构体保存到flash芯片中,读取出来的时候数据内容和存进去的不一样(STM32F103芯片)问题所在:构建结构体的时候,没有注意到结构体数据的对齐问题,计算错了结构体的大小详细说明:没有进行对齐的结构体内容如下:根据结构体的内容,按照常规的计算方式,那么这个结构体的大小是32个字节,所以我写到flash里边的时候,写入长度就给了32个字节的长度。st原创 2017-04-21 10:24:28 · 738 阅读 · 1 评论 -
关于STM32莫名死机的一些问题记录
问题描述ZET6跑了ucosII系统,在运行过程中有时会出现死机的情况,经过硬件调试发现,是进入延时的时候导致的这个问题,延时函数是没有问题的,而且这个问题是偶尔出现问题排查死机之后指针指向了硬件错误中断,初步猜测是因为栈溢出,因为跑了系统,并且函数的嵌套层数比较多,导致栈内存不够,进入了硬件错误中断解决方法将函数分离出来,减少函数嵌套,因为每一个函数都会分配单独的内存空间,所以多层的函数原创 2017-06-02 10:10:39 · 12459 阅读 · 0 评论 -
when FreeRtos is used.It is strongly recommended to use a HAL timebase source other than the Systic
在stmcubeMX中进行配置的时候,如果使用了freertos系统,生成代码的时候会有如下提示:其意思就是,当使用了FreeRtos的时候,强烈建议HAL库使用除了Systick以外的时钟源。也就是说当不使用FreeRtos的时候,HAL使用的是systick作为时钟源,现在使用了rtos,不建议hal库和rtos一起使用systick作为时钟源。我们先看一下rtos和HAL库使用s...原创 2019-04-19 17:57:56 · 10729 阅读 · 0 评论