void AD_nit()是什么意思
时间: 2024-04-17 11:23:25 浏览: 29
在您提供的代码中,AD_nit()是一个函数的名称。根据命名规则和上下文的推测,它可能是一个函数用于ADC(模数转换器)的初始化。
函数名可能是一个拼写错误,应该是adc_init()而不是AD_nit()。adc_init()函数通常用于配置和初始化ADC模块的相关参数,例如选择通道、设置采样时间和分辨率等。
如果您想了解更多关于AD_nit()(或者可能是adc_init())函数的具体实现和用法,请查看您的代码中该函数的定义部分,或者参考相关的文档或示例代码。
相关问题
#include "headfile.h" //#include "common.h" #include "math.h" //#include "cmath" extern unsigned int AD_L[8]; extern int AD[8]; extern int chazhi[10]; extern float sensor_to_one[8]; extern unsigned int max_v[8]; void AD_nit(); void Max_ADC(void); void Max_ADC_H(void); //void Read_AD(void); //void Read_AD_H(void); //void Analyse_ADC(void); void Find_Max(void); void Read_ADC(void); //float absf(int a,int b); int ADC_2(void); void Computer_Display2(void); uint16_t ad_valu[8][5]; int16_t min[2][3], max[2][3]; uint16_t AD_L[8]; int16_t AD[8]; uint16_t AD_Round[8]; uint16_t AD_V[5]; uint16_t adsum[8]; uint16_t AD_sum[8]; uint16_t ad_valu1[8]; float sensor_to_one[8]; uint16_t max_v[8], min_v[8]; int16_t centre = 4000; int16_t chazhi[10]; int16_t move = 0; float Previous_Error[12]; float Previous_Error1[12]; void AD_nit() { adc_init(ADC0, ADC_CH_10, ADC_SAMPLETIME_55POINT5, ADC_RES_12BIT); adc_init(ADC0, ADC_CH_11, ADC_SAMPLETIME_55POINT5, ADC_RES_12BIT); adc_init(ADC0, ADC_CH_12, ADC_SAMPLETIME_55POINT5, ADC_RES_12BIT); adc_init(ADC0, ADC_CH_13, ADC_SAMPLETIME_55POINT5, ADC_RES_12BIT); adc_init(ADC0, ADC_CH_15, ADC_SAMPLETIME_55POINT5, ADC_RES_12BIT);为什么AD_L[8]会出现错误
AD_L[8]出现错误可能是因为它在代码中重复定义两次。在给变量命名时,要确保每个变量只被定义一次。在上述代码中,AD_L[8]被定义了两次。
首先,在头文件headfile.h中,我们可以看到以下代码:
```c
extern unsigned int AD_L[8];
```
这表示AD_L[8]是一个外部变量,在其他文件中已经定义过了。
然后,在当前文件中,我们又看到了以下代码:
```c
uint16_t AD_L[8];
```
这表示在当前文件中再次定义了AD_L[8],导致了重复定义的错误。
要解决这个问题,可以删除当前文件中的AD_L[8]的定义,只保留头文件中的声明即可。修改后的代码如下:
```c
#include "headfile.h"
//#include "common.h"
#include "math.h"
//#include "cmath"
extern unsigned int AD_L[8];
extern int AD[8];
extern int chazhi[10];
extern float sensor_to_one[8];
extern unsigned int max_v[8];
void AD_nit();
void Max_ADC(void);
void Max_ADC_H(void);
//void Read_AD(void);
//void Read_AD_H(void);
//void Analyse_ADC(void);
void Find_Max(void);
void Read_ADC(void);
//float absf(int a,int b);
int ADC_2(void);
void Computer_Display2(void);
uint16_t ad_valu[8][5];
int16_t min[2][3], max[2][3];
// uint16_t AD_L[8]; // 删除重复定义的行
int16_t AD[8];
uint16_t AD_Round[8];
uint16_t AD_V[5];
uint16_t adsum[8];
uint16_t AD_sum[8];
uint16_t ad_valu1[8];
float sensor_to_one[8];
uint16_t max_v[8], min_v[8];
int16_t centre = 4000;
int16_t chazhi[10];
int16_t move = 0;
float Previous_Error[12];
float Previous_Error1[12];
void AD_nit()
{
adc_init(ADC0, ADC_CH_10, ADC_SAMPLETIME_55POINT5, ADC_RES_12BIT);
adc_init(ADC0, ADC_CH_11, ADC_SAMPLETIME_55POINT5, ADC_RES_12BIT);
adc_init(ADC0, ADC_CH_12, ADC_SAMPLETIME_55POINT5, ADC_RES_12BIT);
adc_init(ADC0, ADC_CH_13, ADC_SAMPLETIME_55POINT5, ADC_RES_12BIT);
adc_init(ADC0, ADC_CH_15, ADC_SAMPLETIME_55POINT5, ADC_RES_12BIT);
}
```
这样就修复了AD_L[8]重复定义的问题。
unsigned int pd_duty; int dir; float dir_kp; float dir_kd; int error,you; void pac_nit(); unsigned int PD_pac(); void key_scan(); #include "headfile.h" int midduty=1.540*10000/20; int dir; int error; int lasterror; float k= 0.0001; float k1=0.0001; float cna=0.05; float dir_kp; float dir_kd=0.10; unsigned int pd_duty; int you=0; unsigned int test1=0,test2=0,test3=0,test4=0; void pac_nit() { pwm_init(PWMB_CH1_P74, 50, midduty); } unsigned int PD_pac() { error=chazhi[0]; if(error>-60 && error<60) {修改后的代码
修改后的代码如下所示:
```c
#include "headfile.h"
unsigned int pd_duty;
int dir;
float dir_kp;
float dir_kd;
int error, you;
void pac_nit();
unsigned int PD_pac();
void key_scan();
int midduty = 1.540 * 10000 / 20;
int lasterror;
float k = 0.0001;
float k1 = 0.0001;
float cna = 0.05;
unsigned int pd_duty;
int you = 0;
unsigned int test1 = 0, test2 = 0, test3 = 0, test4 = 0;
void pac_nit()
{
pwm_init(PWMB_CH1_P74, 50, midduty);
}
unsigned int PD_pac()
{
error = chazhi[0];
if (error > -60 && error < 60)
{
// 在这里添加你的代码
}
}
int main(void)
{
// 在这里添加你的代码
return 0;
}
```
请注意,这只是将您提供的代码进行了一些修正,并没有修改您可能需要添加的具体功能代码部分。请根据您的实际需求,在 `PD_pac` 函数中添加您具体的逻辑代码,并在 `main` 函数中编写程序的主要逻辑。如果您在添加具体功能代码时遇到问题,请提供更多信息,以便我可以更好地帮助您。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)