STM32如何定义16位的数组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STM32如何定义16位的数组相关的知识,希望对你有一定的参考价值。

  STM32定义16位数组,格式如下:
  const u16 XXX[] =;
  STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M内核。
  所谓数组,就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名。
参考技术A u16 adf[]=; 参考技术B const u16 XXX[] =;

如何在 SDRAM 中写入 - STM32

【中文标题】如何在 SDRAM 中写入 - STM32【英文标题】:How to write in the SDRAM - STM32 【发布时间】:2021-07-20 19:48:53 【问题描述】:

我有一块板,包括 stm32f767。LTDC 单元已设置,LCD 工作良好。我想在 SDRAM 中定义一个数组。我在地址中定义了它:0XCF000000 与 LCD 帧缓冲区没有重叠: u16 Buffertest[200] 属性((at(0XCF000000)))

但是当我运行程序时,LCD 被挂了。

很高兴听到您的指导。 亲切的问候

【问题讨论】:

【参考方案1】:

如果您使用外部 SDRAM,您的数据必须是 4 字节对齐的。所以你不能使用 16 位数组。您所有的值都必须是 32 位。因此,将您的数组类型更改为 u32。

【讨论】:

以上是关于STM32如何定义16位的数组的主要内容,如果未能解决你的问题,请参考以下文章

stm32串口接收数据,我发送的数据是20个8位的数据帧,怎么把他们存起来?

如何在 SDRAM 中写入 - STM32

stm32 如何将vu16数据类型转换成u8类型的数据

使用STM32的FSMC总线连接9341的LCD,16位的模式,但是取模软件去出的8位的数。需要转

什么是STM32的高寄存器和低寄存器?

STM32:GPIO口的使用