打印

CC2541想要更改底层IO口配置 更改不成功

[复制链接]
1104|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
2315192112|  楼主 | 2018-8-16 15:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我是在SimpleBLEPeripheral_Main.c中进入到InitBoard()这个函数中  更改我的IO口配置  
void InitBoard( uint8 level )
{
  /*Begin Alert by guwen 2018-08-09 PN:BLE*/
   //P1端口:P1_0雾化器 外设端口  输出模式;  P1_1 按键SW1输入模式 高  
   //P1_6USB充电时拉低,输入IO 高  P1_3 输出IO  默认低
   //综上: P1DIR:  0000  1001   P1SEL:0000 0001   P1: 1111 0110
    //设置P1_0(雾化器)为输出模式,通用IO并关闭雾化器
     P1DIR |= 0x09; //0x09
     P1SEL |= 0x01; //0x01
     P1 |= 0xF6;   //0xF6
     printf("P1DIR = %#x\n",P1DIR);
     printf("P1SEL = %#x\n",P1SEL);
     printf("P1 = %#x\n",P1);
//P0端口:P0_1 霍尔输入;P0_2升压mos管FB脚  输出模式;
//P0_3 升压mos管CE脚位  输出模式; P0_5 充电管理芯片 输入模式 充电时拉低
//设置P0_6,P0_7,P0_0(LD1,LD2,LD3/4)为输出模式,通用IO并关闭显示
   //综上:1100  1101
     P0DIR |= 0xCD;     //P0_7原开发板上为蜂鸣器 0xC1
     //0000 0000
     P0SEL &= ~0xFF;    //0为通用IO,1为外设  
//关闭 LD1,2,3,4  CE  FB脚置低  0011 0010
     P0 |= 0x32; //关闭LD1,LD2,LD3/4
     printf("P0DIR = %#x\n",P0DIR);
     printf("P0SEL = %#x\n",P0SEL);
     printf("P0 = %#x\n",P0);
     
/*End   Alert by guwen 2018-08-09 PN:BLE*/

  if ( level == OB_COLD )
  {
    // Interrupts off
    osal_int_disable( INTS_ALL );
    // Turn all LEDs off
    //HalLedSet( HAL_LED_ALL, HAL_LED_MODE_OFF );
    // Check for Brown-Out reset
//    ChkReset();
  }
  else  // !OB_COLD
  {
    /* Initialize Key stuff */
    OnboardKeyIntEnable = HAL_KEY_INTERRUPT_ENABLE;
    //OnboardKeyIntEnable = HAL_KEY_INTERRUPT_DISABLE;
    HalKeyConfig( OnboardKeyIntEnable, OnBoard_KeyCallback);
  }
}

下载调试的时候  打印出来的都是0  搞不懂 我是在cc2xxxxMB c1.3开发板板子上模拟的   观察到几个LED灯是亮起的   但是跟我的实际配置并不相同  所以请教下各位是什么原因呢   是不是有其它地方  例程是将IO口置位了呢     还是说我想要更改IO配置需要再其它地方进行修改~

相关帖子

沙发
2315192112|  楼主 | 2018-8-16 15:34 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

11

帖子

0

粉丝