📄 at91sam7s64.tcl
字号:
# -------- TWI_SR : (TWI Offset: 0x20) TWI Status Register --------
set AT91C_TWI_TXCOMP [expr 0x1 << 0 ]
set AT91C_TWI_RXRDY [expr 0x1 << 1 ]
set AT91C_TWI_TXRDY [expr 0x1 << 2 ]
set AT91C_TWI_SVREAD [expr 0x1 << 3 ]
set AT91C_TWI_SVACC [expr 0x1 << 4 ]
set AT91C_TWI_GCACC [expr 0x1 << 5 ]
set AT91C_TWI_OVRE [expr 0x1 << 6 ]
set AT91C_TWI_UNRE [expr 0x1 << 7 ]
set AT91C_TWI_NACK [expr 0x1 << 8 ]
set AT91C_TWI_ARBLST [expr 0x1 << 9 ]
# -------- TWI_IER : (TWI Offset: 0x24) TWI Interrupt Enable Register --------
set AT91C_TWI_TXCOMP [expr 0x1 << 0 ]
set AT91C_TWI_RXRDY [expr 0x1 << 1 ]
set AT91C_TWI_TXRDY [expr 0x1 << 2 ]
set AT91C_TWI_SVREAD [expr 0x1 << 3 ]
set AT91C_TWI_SVACC [expr 0x1 << 4 ]
set AT91C_TWI_GCACC [expr 0x1 << 5 ]
set AT91C_TWI_OVRE [expr 0x1 << 6 ]
set AT91C_TWI_UNRE [expr 0x1 << 7 ]
set AT91C_TWI_NACK [expr 0x1 << 8 ]
set AT91C_TWI_ARBLST [expr 0x1 << 9 ]
# -------- TWI_IDR : (TWI Offset: 0x28) TWI Interrupt Disable Register --------
set AT91C_TWI_TXCOMP [expr 0x1 << 0 ]
set AT91C_TWI_RXRDY [expr 0x1 << 1 ]
set AT91C_TWI_TXRDY [expr 0x1 << 2 ]
set AT91C_TWI_SVREAD [expr 0x1 << 3 ]
set AT91C_TWI_SVACC [expr 0x1 << 4 ]
set AT91C_TWI_GCACC [expr 0x1 << 5 ]
set AT91C_TWI_OVRE [expr 0x1 << 6 ]
set AT91C_TWI_UNRE [expr 0x1 << 7 ]
set AT91C_TWI_NACK [expr 0x1 << 8 ]
set AT91C_TWI_ARBLST [expr 0x1 << 9 ]
# -------- TWI_IMR : (TWI Offset: 0x2c) TWI Interrupt Mask Register --------
set AT91C_TWI_TXCOMP [expr 0x1 << 0 ]
set AT91C_TWI_RXRDY [expr 0x1 << 1 ]
set AT91C_TWI_TXRDY [expr 0x1 << 2 ]
set AT91C_TWI_SVREAD [expr 0x1 << 3 ]
set AT91C_TWI_SVACC [expr 0x1 << 4 ]
set AT91C_TWI_GCACC [expr 0x1 << 5 ]
set AT91C_TWI_OVRE [expr 0x1 << 6 ]
set AT91C_TWI_UNRE [expr 0x1 << 7 ]
set AT91C_TWI_NACK [expr 0x1 << 8 ]
set AT91C_TWI_ARBLST [expr 0x1 << 9 ]
# *****************************************************************************
# SOFTWARE API DEFINITION FOR Timer Counter Channel Interface
# *****************************************************************************
# -------- TC_CCR : (TC Offset: 0x0) TC Channel Control Register --------
set AT91C_TC_CLKEN [expr 0x1 << 0 ]
set AT91C_TC_CLKDIS [expr 0x1 << 1 ]
set AT91C_TC_SWTRG [expr 0x1 << 2 ]
# -------- TC_CMR : (TC Offset: 0x4) TC Channel Mode Register: Capture Mode / Waveform Mode --------
set AT91C_TC_CLKS [expr 0x7 << 0 ]
set AT91C_TC_CLKS_TIMER_DIV1_CLOCK 0x0
set AT91C_TC_CLKS_TIMER_DIV2_CLOCK 0x1
set AT91C_TC_CLKS_TIMER_DIV3_CLOCK 0x2
set AT91C_TC_CLKS_TIMER_DIV4_CLOCK 0x3
set AT91C_TC_CLKS_TIMER_DIV5_CLOCK 0x4
set AT91C_TC_CLKS_XC0 0x5
set AT91C_TC_CLKS_XC1 0x6
set AT91C_TC_CLKS_XC2 0x7
set AT91C_TC_CLKS [expr 0x7 << 0 ]
set AT91C_TC_CLKS_TIMER_DIV1_CLOCK 0x0
set AT91C_TC_CLKS_TIMER_DIV2_CLOCK 0x1
set AT91C_TC_CLKS_TIMER_DIV3_CLOCK 0x2
set AT91C_TC_CLKS_TIMER_DIV4_CLOCK 0x3
set AT91C_TC_CLKS_TIMER_DIV5_CLOCK 0x4
set AT91C_TC_CLKS_XC0 0x5
set AT91C_TC_CLKS_XC1 0x6
set AT91C_TC_CLKS_XC2 0x7
set AT91C_TC_CLKI [expr 0x1 << 3 ]
set AT91C_TC_CLKI [expr 0x1 << 3 ]
set AT91C_TC_BURST [expr 0x3 << 4 ]
set AT91C_TC_BURST_NONE [expr 0x0 << 4 ]
set AT91C_TC_BURST_XC0 [expr 0x1 << 4 ]
set AT91C_TC_BURST_XC1 [expr 0x2 << 4 ]
set AT91C_TC_BURST_XC2 [expr 0x3 << 4 ]
set AT91C_TC_BURST [expr 0x3 << 4 ]
set AT91C_TC_BURST_NONE [expr 0x0 << 4 ]
set AT91C_TC_BURST_XC0 [expr 0x1 << 4 ]
set AT91C_TC_BURST_XC1 [expr 0x2 << 4 ]
set AT91C_TC_BURST_XC2 [expr 0x3 << 4 ]
set AT91C_TC_CPCSTOP [expr 0x1 << 6 ]
set AT91C_TC_LDBSTOP [expr 0x1 << 6 ]
set AT91C_TC_LDBDIS [expr 0x1 << 7 ]
set AT91C_TC_CPCDIS [expr 0x1 << 7 ]
set AT91C_TC_ETRGEDG [expr 0x3 << 8 ]
set AT91C_TC_ETRGEDG_NONE [expr 0x0 << 8 ]
set AT91C_TC_ETRGEDG_RISING [expr 0x1 << 8 ]
set AT91C_TC_ETRGEDG_FALLING [expr 0x2 << 8 ]
set AT91C_TC_ETRGEDG_BOTH [expr 0x3 << 8 ]
set AT91C_TC_EEVTEDG [expr 0x3 << 8 ]
set AT91C_TC_EEVTEDG_NONE [expr 0x0 << 8 ]
set AT91C_TC_EEVTEDG_RISING [expr 0x1 << 8 ]
set AT91C_TC_EEVTEDG_FALLING [expr 0x2 << 8 ]
set AT91C_TC_EEVTEDG_BOTH [expr 0x3 << 8 ]
set AT91C_TC_ABETRG [expr 0x1 << 10 ]
set AT91C_TC_EEVT [expr 0x3 << 10 ]
set AT91C_TC_EEVT_NONE [expr 0x0 << 10 ]
set AT91C_TC_EEVT_RISING [expr 0x1 << 10 ]
set AT91C_TC_EEVT_FALLING [expr 0x2 << 10 ]
set AT91C_TC_EEVT_BOTH [expr 0x3 << 10 ]
set AT91C_TC_ENETRG [expr 0x1 << 12 ]
set AT91C_TC_WAVESEL [expr 0x3 << 13 ]
set AT91C_TC_WAVESEL_UP [expr 0x0 << 13 ]
set AT91C_TC_WAVESEL_UPDOWN [expr 0x1 << 13 ]
set AT91C_TC_WAVESEL_UP_AUTO [expr 0x2 << 13 ]
set AT91C_TC_WAVESEL_UPDOWN_AUTO [expr 0x3 << 13 ]
set AT91C_TC_CPCTRG [expr 0x1 << 14 ]
set AT91C_TC_WAVE [expr 0x1 << 15 ]
set AT91C_TC_WAVE [expr 0x1 << 15 ]
set AT91C_TC_LDRA [expr 0x3 << 16 ]
set AT91C_TC_LDRA_NONE [expr 0x0 << 16 ]
set AT91C_TC_LDRA_RISING [expr 0x1 << 16 ]
set AT91C_TC_LDRA_FALLING [expr 0x2 << 16 ]
set AT91C_TC_LDRA_BOTH [expr 0x3 << 16 ]
set AT91C_TC_ACPA [expr 0x3 << 16 ]
set AT91C_TC_ACPA_NONE [expr 0x0 << 16 ]
set AT91C_TC_ACPA_SET [expr 0x1 << 16 ]
set AT91C_TC_ACPA_CLEAR [expr 0x2 << 16 ]
set AT91C_TC_ACPA_TOGGLE [expr 0x3 << 16 ]
set AT91C_TC_LDRB [expr 0x3 << 18 ]
set AT91C_TC_LDRB_NONE [expr 0x0 << 18 ]
set AT91C_TC_LDRB_RISING [expr 0x1 << 18 ]
set AT91C_TC_LDRB_FALLING [expr 0x2 << 18 ]
set AT91C_TC_LDRB_BOTH [expr 0x3 << 18 ]
set AT91C_TC_ACPC [expr 0x3 << 18 ]
set AT91C_TC_ACPC_NONE [expr 0x0 << 18 ]
set AT91C_TC_ACPC_SET [expr 0x1 << 18 ]
set AT91C_TC_ACPC_CLEAR [expr 0x2 << 18 ]
set AT91C_TC_ACPC_TOGGLE [expr 0x3 << 18 ]
set AT91C_TC_AEEVT [expr 0x3 << 20 ]
set AT91C_TC_AEEVT_NONE [expr 0x0 << 20 ]
set AT91C_TC_AEEVT_SET [expr 0x1 << 20 ]
set AT91C_TC_AEEVT_CLEAR [expr 0x2 << 20 ]
set AT91C_TC_AEEVT_TOGGLE [expr 0x3 << 20 ]
set AT91C_TC_ASWTRG [expr 0x3 << 22 ]
set AT91C_TC_ASWTRG_NONE [expr 0x0 << 22 ]
set AT91C_TC_ASWTRG_SET [expr 0x1 << 22 ]
set AT91C_TC_ASWTRG_CLEAR [expr 0x2 << 22 ]
set AT91C_TC_ASWTRG_TOGGLE [expr 0x3 << 22 ]
set AT91C_TC_BCPB [expr 0x3 << 24 ]
set AT91C_TC_BCPB_NONE [expr 0x0 << 24 ]
set AT91C_TC_BCPB_SET [expr 0x1 << 24 ]
set AT91C_TC_BCPB_CLEAR [expr 0x2 << 24 ]
set AT91C_TC_BCPB_TOGGLE [expr 0x3 << 24 ]
set AT91C_TC_BCPC [expr 0x3 << 26 ]
set AT91C_TC_BCPC_NONE [expr 0x0 << 26 ]
set AT91C_TC_BCPC_SET [expr 0x1 << 26 ]
set AT91C_TC_BCPC_CLEAR [expr 0x2 << 26 ]
set AT91C_TC_BCPC_TOGGLE [expr 0x3 << 26 ]
set AT91C_TC_BEEVT [expr 0x3 << 28 ]
set AT91C_TC_BEEVT_NONE [expr 0x0 << 28 ]
set AT91C_TC_BEEVT_SET [expr 0x1 << 28 ]
set AT91C_TC_BEEVT_CLEAR [expr 0x2 << 28 ]
set AT91C_TC_BEEVT_TOGGLE [expr 0x3 << 28 ]
set AT91C_TC_BSWTRG [expr 0x3 << 30 ]
set AT91C_TC_BSWTRG_NONE [expr 0x0 << 30 ]
set AT91C_TC_BSWTRG_SET [expr 0x1 << 30 ]
set AT91C_TC_BSWTRG_CLEAR [expr 0x2 << 30 ]
set AT91C_TC_BSWTRG_TOGGLE [expr 0x3 << 30 ]
# -------- TC_SR : (TC Offset: 0x20) TC Channel Status Register --------
set AT91C_TC_COVFS [expr 0x1 << 0 ]
set AT91C_TC_LOVRS [expr 0x1 << 1 ]
set AT91C_TC_CPAS [expr 0x1 << 2 ]
set AT91C_TC_CPBS [expr 0x1 << 3 ]
set AT91C_TC_CPCS [expr 0x1 << 4 ]
set AT91C_TC_LDRAS [expr 0x1 << 5 ]
set AT91C_TC_LDRBS [expr 0x1 << 6 ]
set AT91C_TC_ETRCS [expr 0x1 << 7 ]
set AT91C_TC_ETRGS [expr 0x1 << 16 ]
set AT91C_TC_MTIOA [expr 0x1 << 17 ]
set AT91C_TC_MTIOB [expr 0x1 << 18 ]
# -------- TC_IER : (TC Offset: 0x24) TC Channel Interrupt Enable Register --------
set AT91C_TC_COVFS [expr 0x1 << 0 ]
set AT91C_TC_LOVRS [expr 0x1 << 1 ]
set AT91C_TC_CPAS [expr 0x1 << 2 ]
set AT91C_TC_CPBS [expr 0x1 << 3 ]
set AT91C_TC_CPCS [expr 0x1 << 4 ]
set AT91C_TC_LDRAS [expr 0x1 << 5 ]
set AT91C_TC_LDRBS [expr 0x1 << 6 ]
set AT91C_TC_ETRCS [expr 0x1 << 7 ]
# -------- TC_IDR : (TC Offset: 0x28) TC Channel Interrupt Disable Register --------
set AT91C_TC_COVFS [expr 0x1 << 0 ]
set AT91C_TC_LOVRS [expr 0x1 << 1 ]
set AT91C_TC_CPAS [expr 0x1 << 2 ]
set AT91C_TC_CPBS [expr 0x1 << 3 ]
set AT91C_TC_CPCS [expr 0x1 << 4 ]
set AT91C_TC_LDRAS [expr 0x1 << 5 ]
set AT91C_TC_LDRBS [expr 0x1 << 6 ]
set AT91C_TC_ETRCS [expr 0x1 << 7 ]
# -------- TC_IMR : (TC Offset: 0x2c) TC Channel Interrupt Mask Register --------
set AT91C_TC_COVFS [expr 0x1 << 0 ]
set AT91C_TC_LOVRS [expr 0x1 << 1 ]
set AT91C_TC_CPAS [expr 0x1 << 2 ]
set AT91C_TC_CPBS [expr 0x1 << 3 ]
set AT91C_TC_CPCS [expr 0x1 << 4 ]
set AT91C_TC_LDRAS [expr 0x1 << 5 ]
set AT91C_TC_LDRBS [expr 0x1 << 6 ]
set AT91C_TC_ETRCS [expr 0x1 << 7 ]
# *****************************************************************************
# SOFTWARE API DEFINITION FOR Timer Counter Interface
# *****************************************************************************
# -------- TCB_BCR : (TCB Offset: 0xc0) TC Block Control Register --------
set AT91C_TCB_SYNC [expr 0x1 << 0 ]
# -------- TCB_BMR : (TCB Offset: 0xc4) TC Block Mode Register --------
set AT91C_TCB_TC0XC0S [expr 0x1 << 0 ]
set AT91C_TCB_TC0XC0S_TCLK0 0x0
set AT91C_TCB_TC0XC0S_NONE 0x1
set AT91C_TCB_TC0XC0S_TIOA1 0x2
set AT91C_TCB_TC0XC0S_TIOA2 0x3
set AT91C_TCB_TC1XC1S [expr 0x1 << 2 ]
set AT91C_TCB_TC1XC1S_TCLK1 [expr 0x0 << 2 ]
set AT91C_TCB_TC1XC1S_NONE [expr 0x1 << 2 ]
set AT91C_TCB_TC1XC1S_TIOA0 [expr 0x2 << 2 ]
set AT91C_TCB_TC1XC1S_TIOA2 [expr 0x3 << 2 ]
set AT91C_TCB_TC2XC2S [expr 0x1 << 4 ]
set AT91C_TCB_TC2XC2S_TCLK2 [expr 0x0 << 4 ]
set AT91C_TCB_TC2XC2S_NONE [expr 0x1 << 4 ]
set AT91C_TCB_TC2XC2S_TIOA0 [expr 0x2 << 4 ]
set AT91C_TCB_TC2XC2S_TIOA2 [expr 0x3 << 4 ]
# *****************************************************************************
# SOFTWARE API DEFINITION FOR PWMC Channel Interface
# *****************************************************************************
# -------- PWMC_CMR : (PWMC_CH Offset: 0x0) PWMC Channel Mode Register --------
set AT91C_PWMC_CPRE [expr 0xF << 0 ]
set AT91C_PWMC_CPRE_MCK 0x0
set AT91C_PWMC_CPRE_MCK/2 0x1
set AT91C_PWMC_CPRE_MCK/4 0x2
set AT91C_PWMC_CPRE_MCK/8 0x3
set AT91C_PWMC_CPRE_MCK/16 0x4
set AT91C_PWMC_CPRE_MCK/32 0x5
set AT91C_PWMC_CPRE_MCK/64 0x6
set AT91C_PWMC_CPRE_MCK/128 0x7
set AT91C_PWMC_CPRE_MCK/256 0x8
set AT91C_PWMC_CPRE_MCK/512 0x9
set AT91C_PWMC_CPRE_MCK/1024 0xA
set AT91C_PWMC_CPRE_MCKA 0xB
set AT91C_PWMC_CPRE_MCKB 0xC
set AT91C_PWMC_CALG [expr 0x1 << 8 ]
set AT91C_PWMC_CPOL [expr 0x1 << 9 ]
set AT91C_PWMC_CPD [expr 0x1 << 10 ]
# -------- PWMC_CDTYR : (PWMC_CH Offset: 0x4) PWMC Channel Duty Cycle Register --------
set AT91C_PWMC_CDTY [expr 0x0 << 0 ]
# -------- PWMC_CPRDR : (PWMC_CH Offset: 0x8) PWMC Channel Period Register --------
set AT91C_PWMC_CPRD [expr 0x0 << 0 ]
# -------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -