ARM程序求解?

cwhe_10 2013-04-22 09:17:44
/*********************************************************************************************************

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口没输出啊?
...全文
111 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
cclutpk 2013-04-27
  • 打赏
  • 举报
回复
AFIO看命名像是作为特定功能脚的,内部有固定的逻辑,没法控制其输出 只有设为gpio才能做通用输入输出功能
funcye 2013-04-24
  • 打赏
  • 举报
回复
你的ARM是哪一款呢?你看看你的PD12-15和PE0-1是不是JTAG接口功能呢?如果是的话,需要关闭JTAG功能的。
cwhe_10 2013-04-24
  • 打赏
  • 举报
回复
引用 2 楼 funcye 的回复:
你的ARM是哪一款呢?你看看你的PD12-15和PE0-1是不是JTAG接口功能呢?如果是的话,需要关闭JTAG功能的。
后来我把那写警告信息(AFIO_PIN_12|AFIO_PIN_13|AFIO_PIN_14|AFIO_PIN_15,AFIO_MODE_DEFAULT);中的AFIO改成GPIO后,警告消除,程序下载进去后就好了,实在不知道为什么一个警告居然使得引脚没有输出?还有一个问题是,你做过SCI智能卡编程的工作吗?我们这一开发板上有一SCI卡插槽,我想把SCI卡插进去,让芯片读取卡的ID号,就是不知道怎么测试芯片是否读取卡的ID号啊?
cclutpk 2013-04-23
  • 打赏
  • 举报
回复
是不是gpio的通用模式与专用模式的问题?

27,373

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧