# TI F280025C -- Clock 測試調整 Clock 的影響,透過固定的 Timer Period = 1000,呼叫中斷處理函式,Toggle 輸出的腳位檢查結果。 改變不同 Clock,可得到不同的輸出方波訊號。 設定 Timer Period = 1000 - Clock = 100 MHz —> Output Period = 50 kHz - Clock = 20 MHz —> Output Period = 10 kHz --- ## Device - F280025C LaunchPad™ development kit for C2000™ real-time MCU  - CCS  --- ## Setting 1. Import universal 的空專案 從 Resource Explorer 找到對應開發版 MCU 的範例程式位置,可以直接將開發版連接電腦,系統會自動搜尋篩選對應的資料位置。 選擇 universal > universal_c2000,並匯入至本機端,匯入後針對專案進行修改不會影響到原本匯入的資料,所以如果對於修改後的內容出錯,想要重新取得空的專案,可以依照同樣流程匯入。  2. Active .ccxml 因為使用的是控制板,所以激活控制板的 .ccxml  3. Choose Configurations 選擇組態  4. Setting .syscfg 打開專案的 universal_c2000.syscfg 進行相關設定  5. Setting GPIO  6. Setting CPUTimer  7. Setting Clock Tree Clock Tree 設定對應的參數,確定輸入源頭跟最終的 SYSCLK 頻率,在 VCOCLK 則需要注意,至少要 220 MHz 以上  --- ## Code Clock Tree 設定對應到 “clcoktree.h” 跟 “device.c” ``` in [clocktree.h] //Input Clock to SYSPLL (OSCCLK) = INTOSC1 = 10 MHz // #define DEVICE_OSCSRC_FREQ 10000000U // // Define to pass to SysCtl_setClock(). Will configure the clock as follows: // SYSPLL ENABLED // SYSCLK = 100 MHz = 10 MHz (OSCCLK) * 40 (IMULT) / (1 (REFDIV) * 2 (ODIV) * 2 (SYSCLKDIVSEL)) #define DEVICE_SYSCLK_FREQ ((DEVICE_OSCSRC_FREQ * 40) / (1 * 2 * 2)) // #define DEVICE_SETCLOCK_CFG (SYSCTL_OSCSRC_OSC1 | SYSCTL_IMULT(40) | SYSCTL_REFDIV(1) | SYSCTL_ODIV(2)| SYSCTL_SYSDIV(2) | SYSCTL_PLL_ENABLE | SYSCTL_DCC_BASE_0) ``` 設定中斷副函式,副函式名稱跟在前面設定的副函式名稱相同 ``` in [main.c] __interrupt void int_timer0_isr(void) { GPIO_togglePin(myGPIO0); Interrupt_clearACKGroup(INTERRUPT_ACK_GROUP1); } ``` 設定週期,基本週期為 $SYSCLK/period$,設定在 main.c 的 while 迴圈中 ``` in [main.c] while(1) { CPUTimer_setPeriod(myCPUTIMER0_BASE, 1000); } ``` --- ## Result 1. 設定內振,Clock = 20 MHz —> Output Period = 10 kHz  2. 設定內振,Clock = 100 MHz —> Output Period = 50 kHz  3. 設定外振,Clock = 20 MHz —> Output Period = 10 kHz  4. 設定外振,Clock = 100 MHz —> Output Period = 50 kHz 
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up