15818564352 发表于 2023-5-30 16:26:57

关于u8 code 常量数组问题



定义了一些常量数组,但是打印出来却都是0XFF,如果去掉code 直接定义数组,那就正常的,请指点

乘风飞扬 发表于 2023-5-30 18:15:38

本帖最后由 乘风飞扬 于 2023-5-30 18:20 编辑

用附件的例子试试,烧录时IRC主频设置22.1184MHz。
例程定义了idata、xdata、code等不同位置的数组内容,通过串口打印查看结果:

15818564352 发表于 2023-5-31 14:43:48

我是在STC32G8K64上测试的结果,还是不行,有什么要注意的地方吗?

15818564352 发表于 2023-5-31 15:08:07

放在全局则正常,在函数内定义就不行,之前STC8A8K64D是可以在函数内定义的,

乘风飞扬 发表于 2023-5-31 18:26:38

15818564352 发表于 2023-5-31 15:08
放在全局则正常,在函数内定义就不行,之前STC8A8K64D是可以在函数内定义的, ...

c251编译器函数内定义常量的话需要用const code修饰
void sendcode(void)
{
        char i;
    unsigned char const code codeBuffer[]={"abcdefghijklmnopqrstuvwxyz"};
    for(i=0;i<26;i++)
    {
      printf("%c",codeBuffer);   //文本模式输出
    }
    printf("\r\n");
}详情参考附件例子。
页: [1]
查看完整版本: 关于u8 code 常量数组问题