//函数名:void delay_us(unsigned int us)
//功能描述:us级粗略延时,如果需要精确延时,则可使用定时器
//输入参数:us延时时间
//输出参数:无
void delay_us(unsigned int us)
{
unsigned char n;
while(us--)
for(n=0;n<9;n++);
}
//函数名:void delay_us(unsigned int ms)
//功能描述:ms级粗略延时,如果需要精确延时,则可使用定时器
//输入参数:ms延时时间
//输出参数:无
void delay_ms(unsigned int ms)
{
while(ms--)
delay_us(1000);
}
// 函数名: void GPIO_Configuration(void)
// 功能描述: GPIO口配置
//输入参数:无
//输出参数:无
void GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure; //定义GPIO的结构体
/*允许总线CLOCK,在使用GPIO之前必须允许相应端的时钟;
从stm32设计角度上说,未被允许的端将不能接入时钟,也不会耗能
这是stm32节能的一种技巧 */
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA, ENABLE);//使能GPIOA口时钟
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB, ENABLE);//使能GPIOB口时钟
//PA 1 2 输出
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 | GPIO_pin_2; ///PA1,PA2配置
//如果需要配置成开漏极输出,则GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD;
//如果需要配置成模拟输入,则 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
//推挽输出
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //50MHz时钟频率
GPIO_Init(GPIOA,&GPIO_InitStructure);
//PB1输出
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;//PB1
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //50MHz时钟频率
GPIO_Init(GPIOA,&GPIO_InitStructure);
}
//函数名:int main(void)
//功能描述:主函数,将PA1,PA2,PB1拉高延时1ms再降低,即在相应的IO口产生方波
//输入参数:无
//输出参数:无
int main(void)
{
//system Clocks Configuration
SystemInit();// 系统初始化时钟配置,初始化为72MHz时钟
GPIO_Confifuration(); //gpio的初始化配置
for(;;)
(
GPIO_SetBits(GPIOA, GPIO_pin_1); //PA1=1;
GPIO_SetBits(GPIOA, GPIO_pin_2); //PA1=1;
GPIO_SetBits(GPIOB, GPIO_pin_1); //PA1=1;
delay_ms(1); //延时1ms
GPIO_ResetBits(GPIOA, GPIO_pin_1); //PA1=1;
GPIO_SetBits(GPIOA, GPIO_pin_2); //PA1=1;
GPIO_SetBits(GPIOB, GPIO_pin_1); //PA1=1;
delay_ms(1); //延时1ms
)
}这是什么错误啊
..\USER\main.c(26): error: #20: identifier "GPIO_InitTypeDef" is undefined
..\USER\main.c(30): warning: #223-D: function "RCC_APB2PeriphClockCmd" declared implicitly
..\USER\main.c(30): error: #20: identifier "RCC_APB2Periph_GPIOA" is undefined
..\USER\main.c(30): error: #20: identifier "ENABLE" is undefined
..\USER\main.c(31): error: #20: identifier "RCC_APB2Periph_GPIOB" is undefined
..\USER\main.c(34): error: #20: identifier "GPIO_Pin_1" is undefined
..\USER\main.c(34): error: #20: identifier "GPIO_pin_2" is undefined
..\USER\main.c(38): error: #20: identifier "GPIO_Mode_Out_PP" is undefined
..\USER\main.c(39): error: #20: identifier "GPIO_Speed_50MHz" is undefined
..\USER\main.c(40): warning: #223-D: function "GPIO_Init" declared implicitly
..\USER\main.c(40): error: #20: identifier "GPIOA" is undefined
..\USER\main.c(54): warning: #223-D: function "SystemInit" declared implicitly
..\USER\main.c(55): warning: #223-D: function "GPIO_Confifuration" declared implicitly
..\USER\main.c(58): warning: #223-D: function "GPIO_SetBits" declared implicitly
..\USER\main.c(58): error: #20: identifier "GPIOA" is undefined
..\USER\main.c(58): error: #20: identifier "GPIO_pin_1" is undefined
..\USER\main.c(58): error: #18: expected a ")"
..\USER\main.c(59): warning: #111-D: statement is unreachable
..\USER\main.c(59): error: #20: identifier "GPIO_pin_2" is undefined
..\USER\main.c(60): error: #20: identifier "GPIOB" is undefined
..\USER\main.c(62): warning: #223-D: function "GPIO_ResetBits" declared implicitly
..\USER\main.c(66): error: #29: expected an expression
..\USER\main.c(67): warning: #1-D: last line of file ends without a newline
..\USER\main.c(67): error: #65: expected a ";"
|