[B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]#include [/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2][COLOR=#2a00ff][SIZE=2][COLOR=#2a00ff]"driver_config.h"[/COLOR][/SIZE][/COLOR][/SIZE] [B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]#include [/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2][COLOR=#2a00ff][SIZE=2][COLOR=#2a00ff]"target_config.h"[/COLOR][/SIZE][/COLOR][/SIZE] [B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]#include [/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2][COLOR=#2a00ff][SIZE=2][COLOR=#2a00ff]"gpio.h"[/COLOR][/SIZE][/COLOR][/SIZE] [SIZE=2] [/SIZE][SIZE=2] [/SIZE] [LEFT][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]volatile [/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2][COLOR=#005032][SIZE=2][COLOR=#005032]uint32_t[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] msTicks; [/SIZE] [LEFT][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]int [/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2]state=0;[/SIZE][/LEFT] [/LEFT] [LEFT][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]void [/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2][B]SysTick_Handler[/B] ([/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]void[/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2])[/SIZE][/LEFT] [LEFT][SIZE=2]{[/SIZE] [SIZE=2]msTicks++; [/SIZE][SIZE=2][COLOR=#3f7f5f][SIZE=2][COLOR=#3f7f5f]// Increment counter[/COLOR][/SIZE][/COLOR][/SIZE] [LEFT][SIZE=2]}[/SIZE][/LEFT] [/LEFT] [SIZE=2] [/SIZE] [LEFT] [LEFT][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]int [/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2][B]main[/B] ([/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]void[/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2])[/SIZE][/LEFT] [/LEFT] [SIZE=2]{[/SIZE] [LEFT][SIZE=2]SystemInit ();[/SIZE][/LEFT] [LEFT][SIZE=2][COLOR=#3f7f5f][SIZE=2][COLOR=#3f7f5f]// Initialize clocks[/COLOR][/SIZE][/COLOR][/SIZE] [SIZE=2]SysTick_Config (SystemCoreClock/1); [/SIZE][/LEFT] [LEFT][SIZE=2][COLOR=#3f7f5f][SIZE=2][COLOR=#3f7f5f]// Configure the SYSTICK[/COLOR][/SIZE][/COLOR][/SIZE][/LEFT] [LEFT][SIZE=2]GPIOInit();[/SIZE][/LEFT] [LEFT][SIZE=2][COLOR=#3f7f5f][SIZE=2][COLOR=#3f7f5f]/*[/COLOR][/SIZE][/COLOR][/SIZE] [SIZE=2][COLOR=#3f7f5f][SIZE=2][COLOR=#3f7f5f]1 - output[/COLOR][/SIZE][/COLOR][/SIZE] [LEFT][SIZE=2][COLOR=#3f7f5f][SIZE=2][COLOR=#3f7f5f]0 - input[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#3f7f5f] [SIZE=2][COLOR=#3f7f5f]*/[/COLOR][/SIZE] [/COLOR][/SIZE][SIZE=2]GPIOSetDir(0,7,1);[/SIZE][/LEFT] [/LEFT] [LEFT][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]while[/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2] (1) [/SIZE][SIZE=2][COLOR=#3f7f5f][SIZE=2][COLOR=#3f7f5f]/* Loop forever */[/COLOR][/SIZE][/COLOR][/SIZE] [SIZE=2]{[/SIZE][/LEFT] [LEFT][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]if[/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2] (msTicks>10)[/SIZE] [SIZE=2]{[/SIZE] [LEFT][SIZE=2]msTicks=0;[/SIZE] [SIZE=2]state=~state;[/SIZE] [SIZE=2]GPIOSetValue( 0, 7, state);[/SIZE] [SIZE=2]}[/SIZE][/LEFT] [/LEFT] [LEFT][SIZE=2][COLOR=#3f7f5f][SIZE=2][COLOR=#3f7f5f]//__WFI();[/COLOR][/SIZE][/COLOR][/SIZE] [LEFT][SIZE=2]}[/SIZE][/LEFT] [/LEFT] [LEFT][SIZE=2]}[/SIZE][/LEFT] |
SysTick_Config (SystemCoreClock/1); |
static __INLINE uint32_t SysTick_Config(uint32_t ticks) { if (ticks > SysTick_LOAD_RELOAD_Msk) return (1); /* Reload value impossible */ SysTick->LOAD = (ticks & SysTick_LOAD_RELOAD_Msk) - 1; /* set reload register */ NVIC_SetPriority (SysTick_IRQn, (1<<__NVIC_PRIO_BITS) - 1); /* set Priority for Cortex-M0 System Interrupts */ SysTick->VAL = 0; /* Load the SysTick Counter Value */ SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | SysTick_CTRL_TICKINT_Msk | SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */ return (0); /* Function successful */ } |
[SIZE=2]SysTick_Config (SystemCoreClock/1000); [/SIZE] |
SysTick_Config (SystemCoreClock/1); |