- #include "hal_gpio.h"
- #include "leds.h"
- /* LED0. */
- #define LED0_GPIO_PORT GPIOI
- #define LED0_GPIO_PIN GPIO_PIN_0
- /* LED1. */
- #define LED1_GPIO_PORT GPIOD
- #define LED1_GPIO_PIN GPIO_PIN_2
- /* LED2. */
- #define LED2_GPIO_PORT GPIOC
- #define LED2_GPIO_PIN GPIO_PIN_6
- /* LED3. */
- #define LED3_GPIO_PORT GPIOC
- #define LED3_GPIO_PIN GPIO_PIN_9
- void Delay(void);
- void GPIO_Toggle(GPIO_Type * GPIOx, uint16_t pin){
- GPIOx->ODR ^= pin;
- }
- void leds_init(void){
- GPIO_Init_Type gpio_init;
- /* LED0. */
- gpio_init.Pins = GPIO_PIN_0;
- gpio_init.PinMode = GPIO_PinMode_Out_PushPull;
- gpio_init.Speed = GPIO_Speed_50MHz;
- GPIO_Init(GPIOI, &gpio_init);
- /* LED1. */
- gpio_init.Pins = GPIO_PIN_2;
- gpio_init.PinMode = GPIO_PinMode_Out_PushPull;
- gpio_init.Speed = GPIO_Speed_50MHz;
- GPIO_Init(GPIOD, &gpio_init);
-
- /* LED2. */
- gpio_init.Pins = GPIO_PIN_6;
- gpio_init.PinMode = GPIO_PinMode_Out_PushPull;
- gpio_init.Speed = GPIO_Speed_50MHz;
- GPIO_Init(GPIOC, &gpio_init);
- /* LED3. */
- gpio_init.Pins = GPIO_PIN_9;
- gpio_init.PinMode = GPIO_PinMode_Out_PushPull;
- gpio_init.Speed = GPIO_Speed_50MHz;
- GPIO_Init(GPIOC, &gpio_init);
- }
-
-
- void leds_error_on(void){
- GPIO_WriteBit(LED0_GPIO_PORT, LED0_GPIO_PIN, 0u); /* led on. */
- }
- void leds_error_off(void){
- GPIO_WriteBit(LED0_GPIO_PORT, LED0_GPIO_PIN, 1u); /* led off. */
- }
- void leds_error_toggle(void){
- GPIO_Toggle(LED0_GPIO_PORT, LED0_GPIO_PIN);
- }
-
- uint8_t leds_error_isOn(void){
- uint8_t bitstatus = 0x00;
- if(GPIO_ReadOutDataBit(LED0_GPIO_PORT, LED0_GPIO_PIN))
- return bitstatus = 0x01;
- else
- return bitstatus = 0x00;
- }
- void leds_error_blink(void){}
- void leds_radio_on(void){
- GPIO_WriteBit(LED1_GPIO_PORT, LED1_GPIO_PIN, 0u); /* led on. */
- }
- void leds_radio_off(void){
- GPIO_WriteBit(LED1_GPIO_PORT, LED1_GPIO_PIN, 1u); /* led off. */
- }
- void leds_radio_toggle(void){
- GPIO_Toggle(LED1_GPIO_PORT, LED1_GPIO_PIN);
- }
- uint8_t leds_radio_isOn(void){
- uint8_t bitstatus = 0x00;
- if(GPIO_ReadOutDataBit(LED1_GPIO_PORT, LED1_GPIO_PIN))
- return bitstatus = 0x01;
- else
- return bitstatus = 0x00;
- }
- void leds_sync_on(void){
- GPIO_WriteBit(LED2_GPIO_PORT, LED2_GPIO_PIN, 0u); /* led on. */
- }
- void leds_sync_off(void){
- GPIO_WriteBit(LED2_GPIO_PORT, LED2_GPIO_PIN, 1u); /* led off. */
- }
- void leds_sync_toggle(void){
- GPIO_Toggle(LED2_GPIO_PORT, LED2_GPIO_PIN);
- }
- uint8_t leds_sync_isOn(void){
- uint8_t bitstatus = 0x00;
- if(GPIO_ReadOutDataBit(LED2_GPIO_PORT, LED2_GPIO_PIN))
- return bitstatus = 0x01;
- else
- return bitstatus = 0x00;
- }
- void leds_debug_on(void){
- GPIO_WriteBit(LED3_GPIO_PORT, LED3_GPIO_PIN, 0u); /* led on. */
- }
- void leds_debug_off(void){
- GPIO_WriteBit(LED3_GPIO_PORT, LED3_GPIO_PIN, 1u); /* led off. */
- }
- void leds_debug_toggle(void){
- GPIO_Toggle(LED3_GPIO_PORT, LED3_GPIO_PIN);
- }
- uint8_t leds_debug_isOn(void){
- uint8_t bitstatus = 0x00;
- if(GPIO_ReadOutDataBit(LED3_GPIO_PORT, LED3_GPIO_PIN))
- return bitstatus = 0x01;
- else
- return bitstatus = 0x00;
- }
- void leds_all_on(void){
- GPIO_WriteBit(LED0_GPIO_PORT, LED0_GPIO_PIN, 0u);
- GPIO_WriteBit(LED1_GPIO_PORT, LED1_GPIO_PIN, 0u);
- GPIO_WriteBit(LED2_GPIO_PORT, LED2_GPIO_PIN, 0u);
- GPIO_WriteBit(LED3_GPIO_PORT, LED3_GPIO_PIN, 0u);
- }
- void leds_all_off(void){
- GPIO_WriteBit(LED0_GPIO_PORT, LED0_GPIO_PIN, 1u);
- GPIO_WriteBit(LED1_GPIO_PORT, LED1_GPIO_PIN, 1u);
- GPIO_WriteBit(LED2_GPIO_PORT, LED2_GPIO_PIN, 1u);
- GPIO_WriteBit(LED3_GPIO_PORT, LED3_GPIO_PIN, 1u);
- }
- void leds_all_toggle(void){
- GPIO_Toggle(LED0_GPIO_PORT, LED0_GPIO_PIN);
- GPIO_Toggle(LED1_GPIO_PORT, LED1_GPIO_PIN);
- GPIO_Toggle(LED2_GPIO_PORT, LED2_GPIO_PIN);
- GPIO_Toggle(LED3_GPIO_PORT, LED3_GPIO_PIN);
- }
- void leds_circular_shift(void){
- GPIO_Toggle(LED0_GPIO_PORT, LED0_GPIO_PIN);
- Delay();
- GPIO_Toggle(LED0_GPIO_PORT, LED0_GPIO_PIN);
- Delay();
- GPIO_Toggle(LED1_GPIO_PORT, LED1_GPIO_PIN);
- Delay();
- GPIO_Toggle(LED1_GPIO_PORT, LED1_GPIO_PIN);
- Delay();
- GPIO_Toggle(LED2_GPIO_PORT, LED2_GPIO_PIN);
- Delay();
- GPIO_Toggle(LED2_GPIO_PORT, LED2_GPIO_PIN);
- Delay();
- GPIO_Toggle(LED3_GPIO_PORT, LED3_GPIO_PIN);
- Delay();
- GPIO_Toggle(LED3_GPIO_PORT, LED3_GPIO_PIN);
- }
- void leds_increment(void){}
- void Delay(void){
-
- unsigned long ik;
- for(ik=0;ik<0x7fff8;ik++) ;
- }