首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

ARM程序求解?该如何解决

2013-06-26 
ARM程序求解?/**************************************************************************************

ARM程序求解?

/*********************************************************************************************************

                       LED  例程代码,没有问题

  ***********************************************************************************************************/
  CKCU_APBPerip0ClockConfig(DVB_GpioClock[LED1_GPIO_ID], ENABLE);
  CKCU_APBPerip0ClockConfig(DVB_GpioClock[LED2_GPIO_ID], ENABLE);
  CKCU_APBPerip0ClockConfig(DVB_GpioClock[LED3_GPIO_ID], ENABLE);

  /* Configure AFIO mode of output pins */
  HT32F_DVB_GPxConfig(LED1_GPIO_ID, LED1_AFIO_PIN, LED1_AFIO_MODE);
  HT32F_DVB_GPxConfig(LED2_GPIO_ID, LED2_AFIO_PIN, LED2_AFIO_MODE);
  HT32F_DVB_GPxConfig(LED3_GPIO_ID, LED2_AFIO_PIN, LED3_AFIO_MODE);

  /* Configure GPIO direction of output pins */
  GPIO_DirectionConfig(LED1_GPIO_PORT, LED1_GPIO_PIN, GPIO_DIR_OUT);
  GPIO_DirectionConfig(LED2_GPIO_PORT, LED2_GPIO_PIN, GPIO_DIR_OUT);
  GPIO_DirectionConfig(LED3_GPIO_PORT, LED3_GPIO_PIN, GPIO_DIR_OUT);
/*********************************************************************************************************

底下代码有问题
  ***********************************************************************************************************/
CKCU_APBPerip0ClockConfig(CKCU_APBEN0_PD|CKCU_APBEN0_PE,ENABLE);

AFIO_GPDConfig(AFIO_PIN_12|AFIO_PIN_13|AFIO_PIN_14|AFIO_PIN_15,AFIO_MODE_DEFAULT);
AFIO_GPEConfig(AFIO_PIN_0|AFIO_PIN_1,AFIO_MODE_DEFAULT);
//HT32F_DVB_GPxConfig(KEY2_BUTTON_GPIO_ID, KEY2_BUTTON_AFIO_PIN, KEY2_BUTTON_AFIO_MODE);

GPIO_DirectionConfig(GPIOD, AFIO_PIN_12, GPIO_DIR_OUT);
GPIO_DirectionConfig(GPIOD, AFIO_PIN_13, GPIO_DIR_OUT);
GPIO_DirectionConfig(GPIOD, AFIO_PIN_14, GPIO_DIR_OUT);
GPIO_DirectionConfig(GPIOD, AFIO_PIN_15, GPIO_DIR_OUT);
GPIO_DirectionConfig(GPIOE, AFIO_PIN_0 , GPIO_DIR_OUT);
GPIO_DirectionConfig(GPIOE, AFIO_PIN_1 , GPIO_DIR_OUT);

GPIO_WriteOutBits(GPIOE,AFIO_PIN_0,SET);
GPIO_WriteOutBits(GPIOE,AFIO_PIN_1,RESET);
//if( GPIO_ReadInBit(GPIOE,AFIO_PIN_0))
{
GPIO_WriteOutBits(GPIOD,AFIO_PIN_12,SET);  

GPIO_WriteOutBits(GPIOD,AFIO_PIN_14,SET);
}
//if( GPIO_ReadInBit(GPIOE, AFIO_PIN_1))
{
GPIO_WriteOutBits(GPIOD,AFIO_PIN_13,SET);
GPIO_WriteOutBits(GPIOD,AFIO_PIN_15,SET);
}


后面有注释“自己写的”是有问题的,前面的是例程(没有问题),代码能编译,就是PD12-15和PE0-1口没输出啊?
[解决办法]
是不是gpio的通用模式与专用模式的问题?
[解决办法]
你的ARM是哪一款呢?你看看你的PD12-15和PE0-1是不是JTAG接口功能呢?如果是的话,需要关闭JTAG功能的。
[解决办法]
AFIO看命名像是作为特定功能脚的,内部有固定的逻辑,没法控制其输出
只有设为gpio才能做通用输入输出功能

热点排行