新手入门
- 积分
- 21
- 金钱
- 21
- 注册时间
- 2015-10-23
- 在线时间
- 0 小时
|
发表于 2015-10-23 21:37:21
|
显示全部楼层
楼主提供的宏定义代码有错误,不知道楼主有没有全部验证所述宏定义代码,希望楼主以认真负责的态度对待读者。
#define GPIOA_ODR_A (GPIOA_BASE+0X0C)
#define GPIOA_IDR_A (GPIOA_BASE+0X08)
#define GPIOB_ODR_A (GPIOB_BASE+0X0C)
#define GPIOB_IDR_A (GPIOB_BASE+0X08)
#define GPIOC_ODR_A (GPIOC_BASE+0X0C)
#define GPIOC_IDR_A (GPIOC_BASE+0X08)
#define GPIOD_ODR_A (GPIOD_BASE+0X0C)
#define GPIOD_IDR_A (GPIOD_BASE+0X08)
#define GPIOE_ODR_A (GPIOE_BASE+0X0C)
#define GPIOE_IDR_A (GPIOE_BASE+0X08)
#define GPIOF_ODR_A (GPIOF_BASE+0X0C)
#define GPIOF_IDR_A (GPIOF_BASE+0X08)
#define BitBand(Addr,BitNum) *((volatile unsigned long *)((Addr&0xf0000000)+0x2000000+((Addr&0xfffff)<<5))+BitNum)
#define PAout(n) BitBand(GPIOA_ODR_A,n)
#define PAin(n) BitBand(GPIOA_IDR_A,n)
#define PBout(n) BitBand(GPIOB_ODR_A,n)
#define PBin(n) BitBand(GPIOB_IDR_A,n)
#define PCout(n) BitBand(GPIOC_ODR_A,n)
#define PCin(n) BitBand(GPIOC_IDR_A,n)
#define PDout(n) BitBand(GPIOD_ODR_A,n)
#define PDin(n) BitBand(GPIOD_IDR_A,n)
#define PEout(n) BitBand(GPIOE_ODR_A,n)
#define PEin(n) BitBand(GPIOE_IDR_A,n)
#define PFout(n) BitBand(GPIOF_ODR_A,n)
#define PFin(n) BitBand(GPIOF_IDR_A,n)
//PA口的流水灯程序,
int main(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
GPIOA->CRL=0X33333333;
while(1){
PAout(0)=0;
Delay(0x2FFFFF);
PAout(0)=1;
Delay(0x2FFFFF);
PAout(1)=0;
Delay(0x2FFFFF);
PAout(1)=1;
Delay(0x2FFFFF);
PAout(2)=0;
Delay(0x2FFFFF);
PAout(2)=1;
Delay(0x2FFFFF);
PAout(3)=0;
Delay(0x2FFFFF);
PAout(3)=1;
Delay(0x2FFFFF);
Delay(0x2FFFFF);
PAout(4)=0;
Delay(0x2FFFFF);
PAout(4)=1;
Delay(0x2FFFFF);
PAout(5)=0;
Delay(0x2FFFFF);
PAout(5)=1;
Delay(0x2FFFFF);
PAout(6)=0;
Delay(0x2FFFFF);
PAout(6)=1;
Delay(0x2FFFFF);
PAout(7)=0;
Delay(0x2FFFFF);
PAout(7)=1;
Delay(0x2FFFFF);
}}
void Delay(vu32 nCount)
{
for(; nCount != 0; nCount--);
}
|
|