用的CCSV5 单步执行能执行,但是发现相应的管脚寄存器数据不改变一直是0xBAD0BAD0

[复制链接]
 楼主| litengg 发表于 2016-11-6 12:53 | 显示全部楼层 |阅读模式
#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;

}
androidbus 发表于 2016-11-6 13:09 | 显示全部楼层
用GPIOPinWrite(GPIO_PORTB_BASE, GPIO_PIN_6, 1)和GPIOPinWrite(GPIO_PORTB_BASE, GPIO_PIN_6, 0)这两句试试
qiangweii 发表于 2016-11-6 13:11 | 显示全部楼层
是不是没使能APB或者AHB的原因?
shashaa 发表于 2016-11-6 13:21 | 显示全部楼层
你单步调试的时候,点那个刷新试试了吗?有时寄存器串口会更新不及时
xia00 发表于 2016-11-7 21:55 | 显示全部楼层
我用HWREG(0x400FE000)=0x2//使能GPIOB模块

确实能正确执行,是不是说明我调用的头文件中没有包含GPIOPinWrite函数 ?
 楼主| litengg 发表于 2016-11-7 22:02 | 显示全部楼层
qiangweii 发表于 2016-11-6 13:11
是不是没使能APB或者AHB的原因?

求指导向0x20000000写入数据时  数据能正确写入
hfdy01 发表于 2016-11-7 22:10 | 显示全部楼层
一般GPIO相关的API都在src/gpio.c中。
CallReceiver 发表于 2016-11-7 22:14 | 显示全部楼层
0xBAD0BAD0是哪个管脚寄存器的数值呀
 楼主| litengg 发表于 2016-11-7 22:17 | 显示全部楼层
qiangweii 发表于 2016-11-6 13:11
是不是没使能APB或者AHB的原因?

我只是使能了GPIOB模块  然后设置为输出  就置高置低  
 楼主| litengg 发表于 2016-11-7 22:17 | 显示全部楼层
我看一般的例程 都没有提到使能AHB  APB  我觉得应该使能GPIO  然后设置为输出好像就可以了。
boy1990 发表于 2016-11-7 22:19 | 显示全部楼层
使能函数  配置输入输出函数单步执行都不改变, 你也包含了该包含的  头文件了?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

51

主题

1597

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部