📄 samek_bsp.c
字号:
#ifdef AT91SAM7S32
#include "AT91SAM7S32.h"
#include "lib_AT91SAM7S32.h"
#endif
#ifdef AT91SAM7S64
#include "AT91SAM7S64.h"
#include "lib_AT91SAM7S64.h"
#endif
#include "SAMEK_BSP.h"
#include "SAMinit.h"
#include "SAMperSYS.h"
#include "SAMperUSART.h"
#include "SAMspi.h"
unsigned int CPU_Freq = MCK;
void SAMEK_LED_OFF(unsigned int led)
{
AT91F_PIO_CfgOutput(AT91C_BASE_PIOA, led);
AT91F_PIO_SetOutput(AT91C_BASE_PIOA, led);
}
void S32EK_LED_ON(unsigned int led)
{
AT91F_PIO_CfgOutput(AT91C_BASE_PIOA, led);
AT91F_PIO_ClearOutput(AT91C_BASE_PIOA, led);
}
void SAMEK_LED_TOG(unsigned int led)
{
AT91F_PIO_CfgOutput(AT91C_BASE_PIOA, led);
if (AT91F_PIO_GetOutputDataStatus(AT91C_BASE_PIOA) & led)
{
AT91F_PIO_ClearOutput(AT91C_BASE_PIOA, led);
}
else
{
AT91F_PIO_SetOutput(AT91C_BASE_PIOA, led);
}
}
unsigned int SAMEK_KEY_Input(unsigned int key)
{
unsigned int key_v = 0;
key_v = AT91F_PIO_GetInput(AT91C_BASE_PIOA);
key_v = ~key_v;
key_v &= key;
return (key_v);
}
void SAMEK_KEY_Init(void)
{
#ifdef AT91SAM7S32_EK
AT91F_PIO_InputFilterEnable(AT91C_BASE_PIOA, S32EK_KEY_MSK);
AT91C_BASE_PIOA->PIO_PPUER = S32EK_KEY_MSK;
AT91F_PIO_CfgInput(AT91C_BASE_PIOA, S32EK_KEY_MSK);
/* enbale PIOA clock for input */
AT91F_PIOA_CfgPMC();
#endif
#ifdef AT91SAM7S64_EK
AT91F_PIO_InputFilterEnable(AT91C_BASE_PIOA, S64EK_KEY_MSK);
AT91C_BASE_PIOA->PIO_PPUER = S64EK_KEY_MSK;
AT91F_PIO_CfgInput(AT91C_BASE_PIOA, S64EK_KEY_MSK);
/* enbale PIOA clock for input */
AT91F_PIOA_CfgPMC();
#endif
}
unsigned int SAMEK_RTT_Val(void)
{
return AT91F_RTTReadValue(AT91C_BASE_RTTC);
}
void SAMEK_Init(void)
{
SAMPitInit();
SAMDbguInit();
SAMspiInit();
/*
SAMRttInit();
Usart0Init();
SAMEK_KEY_Init();
// all LED off
#ifdef AT91SAM7S32_EK
SAMEK_LED_OFF(S32EK_LED_MSK);
#endif
#ifdef AT91SAM7S64_EK
SAMEK_LED_OFF(S64EK_LED_MSK);
#endif
Usart0_SendStr("S32EK BSP init done! > USART0.\r\n");
#if USART_PRINT_EN > 0
SAMEK_USART_print("CPU Freq. = %dHz \r\n", CPU_Freq);
#endif
*/
AT91F_RSTSetMode(AT91C_BASE_RSTC, (7 << 8) | AT91C_RSTC_URSTEN);
AT91F_PDC_Close(AT91C_BASE_PDC_DBGU); /* close DBGU PDC */
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -