请教:AT91SAM7S64在设置IO口输入时必须要开时钟吗?
请教:AT91SAM7S64在设置IO口输入时必须要开时钟吗?最近在学习AT91SAM7S64,准备写一个按键程序,需要将IO口设置为输入,可参考了一些资料后,发现有的资料中说设置IO口输入时必须要开时钟。(*AT91C_PMC_SCER = AT91C_CKGR_MOSCEN;// 使能系统时钟寄存器的处理器时钟 *AT91C_PMC_PCER = 1 << AT91C_ID_PIOA;// 使能PIOA 外围时钟)。
希望哪位高手帮我解答下。
另外我希望有热心的朋友提供下这款ARM芯片在使用IO口时有什么快捷的方法。 是的,必须使能相应的peripheral clock。 谢谢楼上的朋友,我刚学习ARM,这两天参照着AT91SAM7S64的DATASHEET,看别人写的程序,那些对IO口的配置似懂非懂,越看越糊涂,希望楼上的朋友多多指教。不胜感激 __inline void AT91F_PIO_CfgOutput(
AT91PS_PIO pPio, // \arg pointer to a PIO controller
unsigned int pioEnable) // \arg PIO to be enabled
{
pPio->PIO_PER = pioEnable; // Set in PIO mode
pPio->PIO_OER = pioEnable; // Configure in Output
}
//*----------------------------------------------------------------------------
//* \fn AT91F_PIO_CfgInput
//* \brief Enable PIO in input mode
//*----------------------------------------------------------------------------
__inline void AT91F_PIO_CfgInput(
AT91PS_PIO pPio, // \arg pointer to a PIO controller
unsigned int inputEnable) // \arg PIO to be enabled
{
// Disable output
pPio->PIO_ODR= inputEnable;
pPio->PIO_PER= inputEnable;
}
AT91F_PIO_CfgOutput( AT91C_BASE_PIOA, CC1100_MOSI|CC1100_SCK|CC1100_CSN|CC1100_TXEN|CC1100_RXEN|CC1100_POWER);//设置为输出
AT91F_PIO_CfgPullup( AT91C_BASE_PIOA, CC1100_MOSI|CC1100_SCK|CC1100_CSN|CC1100_TXEN|CC1100_RXEN|CC1100_POWER);//启用上拉电阻
AT91F_PIO_CfgInput( AT91C_BASE_PIOA,CC1100_MISO|CC1100_GDO2|CC1100_GDO0);//设置为输入
AT91F_PIO_CfgPullup( AT91C_BASE_PIOA, CC1100_MISO|CC1100_GDO2|CC1100_GDO0);//启用上拉电阻
页:
[1]