相应的管脚寄存器数据不改变一直是0xBAD0BAD0

2019-07-21 17:21发布


#include "inc/hw_ints.h"
#include "inc/hw_memmap.h"
#include "inc/hw_types.h"
#include "driverlib/gpio.h"
#include "driverlib/sysctl.h"
#define PINS GPIO_PIN_6
void delay(int d)
{
        for(;d;--d);
}
void SysCtlClockSet(unsigned long ulConfig)
{}

void   SysCtlPeripheralEnable (unsigned long ulPeripheral)
{}

void GPIODirModeSet(unsigned long ulPort,unsigned char ucPins,unsigned long ulPinIO)
{}

void GPIOPinWrite(unsigned long ulPort, unsigned char ucPins, unsigned char ucVal)
{}

int main(void)
{
        unsigned int i;

          SysCtlClockSet(SYSCTL_SYSDIV_1|SYSCTL_USE_OSC|SYSCTL_OSC_MAIN|SYSCTL_XTAL_6MHZ);//直接使用外部晶振
          SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);//使能GPIO的PB模块
          GPIODirModeSet(GPIO_PORTB_BASE,PINS,GPIO_DIR_MODE_OUT);//设置PB6输出
          for(i=0;i<10;i++)
          {
                  GPIOPinWrite(GPIO_PORTB_BASE,PINS,~PINS);//置PB6低电平
                  delay(20000);
                  GPIOPinWrite(GPIO_PORTB_BASE,PINS,PINS);//置PB6高电平
                  delay(20000);
          }
          SysCtlClockSet(SYSCTL_SYSDIV_1|SYSCTL_USE_PLL|SYSCTL_OSC_MAIN|SYSCTL_XTAL_6MHZ);//使用PLL
          for(i=0;i<10;i++)
          {GPIOPinWrite(GPIO_PORTB_BASE,PINS,~PINS);
          delay(20000);
          GPIOPinWrite(GPIO_PORTB_BASE,PINS,PINS);
          delay(20000);
          }

          return 0;

}
用的CCSV5 单步执行能执行,但是发现相应的管脚寄存器数据不改变一直是0xBAD0BAD0
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
16条回答
jiajs
1楼-- · 2019-07-21 17:59
请问楼上这个是为什么吗?我不是很懂啊
wyjie
2楼-- · 2019-07-21 22:24
而且没有使能的GPIO A C D模块能看到数据~按理说我没有使能的模块 应该显示 cant read   求指导
向0x20000000写入数据时  数据能正确写入
zhanghqi
3楼-- · 2019-07-22 02:55
楼主能截个图传上来看看嘛?
0xBAD0BAD0是哪个管脚寄存器的数值?
zhenykun
4楼-- · 2019-07-22 04:54
用GPIOPinWrite(GPIO_PORTB_BASE, GPIO_PIN_6, 1)和GPIOPinWrite(GPIO_PORTB_BASE, GPIO_PIN_6, 0)这两句试试
jlyuan
5楼-- · 2019-07-22 05:22
 精彩回答 2  元偷偷看……
wyjie
6楼-- · 2019-07-22 08:21
我只是使能了GPIOB模块  然后设置为输出  就置高置低  其他的不是大懂呢

一周热门 更多>