gpt4 book ai didi

c - 用指针在c中进行嵌入式编程

转载 作者:太空宇宙 更新时间:2023-11-04 04:45:07 25 4
gpt4 key购买 nike

当我尝试编译以下程序时,它在 LCDCMEMCTL[i] = digit[i]; 行中显示错误。因为这个表达式必须有指向对象类型的指针。你能帮我找出它背后的原因是什么以及如何解决这个问题吗。

#include "msp430f6736.h"

char digit[10] = {
0xB7, /* "0" LCD segments a+b+c+d+e+f */
0x12, /* "1" */
0x8F, /* "2" */
0x1F, /* "3" */
0x3A, /* "4" */
0x3D, /* "5" */
0xBD, /* "6" */
0x13, /* "7" */
0xBF, /* "8" */
0x3F /* "9" */
};

void main(void)
{
int i;

/* Initialize LCD driver (4Mux mode) */
LCDCCTL0 = 0xFF;

/* display "6543210" */
for (i=0; i<7; i++)
{
LCDCMEMCTL[i] = digit[i];
}
}

最佳答案

如果我发现错误,您可能需要提供更多信息……但根据我在 msp430f6736.h header file 中找到的内容:

#define LCDCMEMCTL_           0x0A06    /* LCD_C memory control register */
sfrb(LCDCMEMCTL_L , LCDCMEMCTL_);
sfrb(LCDCMEMCTL_H , LCDCMEMCTL_+1);
sfrw(LCDCMEMCTL, LCDCMEMCTL_);

看起来LCDCMEMCTL 是LCD 的内存控制寄存器的地址。我还没有找到这个IC的引用手册,所以我不知道寄存器是什么样子的。但通常情况下,您会将完整的字节序列写入寄存器,很多时候 TI 会提供用于写入这些内容的宏。

关于c - 用指针在c中进行嵌入式编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21969960/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com