天问51 编译不了
不会写程序用DeepSeekAI写程序 复制到天问51图形编程里的字符编程 编译不出文件 求教 必须用keil么不建议用AI工具写程序
新手入门可以看看冲哥视频教程 建议多学,AI这东西不好说的 天问还是使用图形化吧。 天问有自己的家,可以去隔壁看看。不过还是觉得keil写代码比较自由,更彰显个性 天问写些简单的程序还可以,复杂的还是建议用keil
AI对天大众化的代码还可以,对于天问应该是心有余而力不足
哈哈。我也买过twen的板子,8h和32G都买了。打算看完教程后用keilc去到上面跑一下。
估计是ai不识别twen的文件结构(训练时候么有用twen的资料喂他,deepseek这个仅仅是跑了几十天,您碰到的错误充分说明训练的量太少)
设定好main.c和stc8h.h头文件位置后应该就没事了 yzhkpli 发表于 2025-1-20 13:25
哈哈。我也买过twen的板子,8h和32G都买了。打算看完教程后用keilc去到上面跑一下。
估计是ai不识别twen的 ...
ai 对芯片的定义都全是错的 我明天给它改错看能不能写出程序{:yun:} hycuzcre 发表于 2025-1-24 20:32
ai 对芯片的定义都全是错的 我明天给它改错看能不能写出程序
麻烦把错误的代码贴上来看看。 yzhkpli 发表于 2025-1-24 22:39
麻烦把错误的代码贴上来看看。
#include <STC8H.H>
#include <intrins.h>
#define ADC_LEFT 0
#define ADC_RIGHT1
#define ADC_TOP 4
#define ADC_BOTTOM 5
sbit AIN1 = P2^4;
sbit AIN2 = P2^5;
sbit BIN1 = P2^6;
sbit BIN2 = P2^7;
void Delay_ms(unsigned int ms) {
unsigned int i, j;
for (i = ms; i > 0; i--)
for (j = 110; j > 0; j--);
}
void PWM_Init() {
P_SW2 |= 0x80;
PWMCKS = 0x00;
PWM1T1 = 0x00FF;
PWM1T2 = 0x007F;
PWM1CR = 0x80;
P_SW2 &= 0x7F;
}
void ADC_Init() {
P1M0 = 0x00;
P1M1 = 0xFF;
ADCCFG = 0x0F;
ADC_CONTR = 0x80;
}
unsigned int ADC_Read(unsigned char channel) {
ADC_CONTR = 0x80 | channel;
_nop_();
while (!(ADC_CONTR & 0x20));
ADC_CONTR &= ~0x20;
return ADC_RES << 8 | ADC_RESL;
}
void MotorX_Dir(unsigned char dir) {
if (dir == 1) {
AIN1 = 1;
AIN2 = 0;
} else if (dir == 2) {
AIN1 = 0;
AIN2 = 1;
} else {
AIN1 = 0;
AIN2 = 0;
}
}
void MotorY_Dir(unsigned char dir) {
if (dir == 1) {
BIN1 = 1;
BIN2 = 0;
} else if (dir == 2) {
BIN1 = 0;
BIN2 = 1;
} else {
BIN1 = 0;
BIN2 = 0;
}
}
void main(void) {// 主函数声明修正为 void main(void)
unsigned int adc_left, adc_right, adc_top, adc_bottom;
int x_diff, y_diff;
PWM_Init();
ADC_Init();
while(1) {
adc_left = ADC_Read(ADC_LEFT);
adc_right = ADC_Read(ADC_RIGHT);
adc_top = ADC_Read(ADC_TOP);
adc_bottom = ADC_Read(ADC_BOTTOM);
x_diff = adc_left - adc_right;
y_diff = adc_top - adc_bottom;
if (x_diff > 100) {
MotorX_Dir(1);
PWM1T2 = 0x00FF;
} else if (x_diff < -100) {
MotorX_Dir(2);
PWM1T2 = 0x00FF;
} else {
MotorX_Dir(0);
}
if (y_diff > 100) {
MotorY_Dir(1);
PWM1T2 = 0x00FF;
} else if (y_diff < -100) {
MotorY_Dir(2);
PWM1T2 = 0x00FF;
} else {
MotorY_Dir(0);
}
Delay_ms(50);
}
}
kiel5生成提示Rebuild started: Project: 50
Rebuild target 'Target 1'
assembling STARTUP.A51...
linking...
*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL
SYMBOL:?C_START
MODULE:.\Objects\STARTUP.obj (?C_STARTUP)
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL:?C_START
MODULE:.\Objects\STARTUP.obj (?C_STARTUP)
ADDRESS: 000DH
Program Size: data=9.0 xdata=0 code=15
creating hex file from ".\Objects\50"...
".\Objects\50" - 0 Error(s), 2 Warning(s).
Build Time Elapsed:00:00:01
页:
[1]
2