全局变量不能在声明时赋值
试一下下面这个程序
- void main(void)
- {
- //<<AICUBE_USER_MAIN_INITIAL_BEGIN>>
- // 在此添加用户主函数初始化代码
- unsigned int BGV;
- unsigned int CH15;
- unsigned int VREF;
- unsigned int CH10;
- unsigned int V_CH10;
- //<<AICUBE_USER_MAIN_INITIAL_END>>
-
- SYS_Init();
-
- //<<AICUBE_USER_MAIN_CODE_BEGIN>>
- // 在此添加主函数中运行一次的用户代码
- BGV=((unsigned int)CHIPID7<<8)+(unsigned int)CHIPID8;
- //<<AICUBE_USER_MAIN_CODE_END>>
-
- while (1)
- {
- //<<AICUBE_USER_MAIN_LOOP_BEGIN>>
- // 在此添加主函数中用户主循环代码
- CH15=ADC_Convert(15);
- CH10=ADC_Convert(10);
- VREF=(unsigned int)((unsigned long)BGV*4096UL/(unsigned long)CH15);
- V_CH10=(unsigned int)((unsigned long)VREF*(unsigned long)CH10/4096UL);
- printf("BGV=%dmV CH15=%d Vref=%dmV CH10=%d V_CH10=%dmV\r\n",BGV,CH15,VREF,CH10,V_CH10);
- delay_ms(1000);
- //<<AICUBE_USER_MAIN_LOOP_END>>
- }
- }
复制代码
51例程(251需移植,请勿直接下载HEX测试):
CDC发送VREF.zip
(48.39 KB, 下载次数: 2)
|