0
mirror of https://github.com/OneOfEleven/uv-k5-firmware-custom.git synced 2025-04-27 22:01:26 +03:00

removed SYSTICK_DelayUs()

This commit is contained in:
OneOfEleven 2023-11-05 20:26:42 +00:00
parent b438d7a903
commit 465d7333e3
10 changed files with 43 additions and 65 deletions

View File

@ -275,12 +275,12 @@ void AUDIO_PlayBeep(beep_type_t Beep)
GPIO_ClearBit(&GPIOA->DATA, GPIOA_PIN_VOICE_1);
else
GPIO_SetBit(&GPIOA->DATA, GPIOA_PIN_VOICE_1);
SYSTICK_DelayUs(1000);
SYSTICK_Delay250us(4000);
GPIO_SetBit(&GPIOA->DATA, GPIOA_PIN_VOICE_0);
SYSTICK_DelayUs(1200);
SYSTICK_Delay250us(4800);
GPIO_ClearBit(&GPIOA->DATA, GPIOA_PIN_VOICE_0);
VoiceID <<= 1;
SYSTICK_DelayUs(200);
SYSTICK_Delay250us(800);
}
}

View File

@ -144,7 +144,7 @@ static uint16_t BK4819_ReadU16(void)
PORTCON_PORTC_IE = (PORTCON_PORTC_IE & ~PORTCON_PORTC_IE_C2_MASK) | PORTCON_PORTC_IE_C2_BITS_ENABLE;
GPIOC->DIR = (GPIOC->DIR & ~GPIO_DIR_2_MASK) | GPIO_DIR_2_BITS_INPUT;
SYSTICK_DelayUs(1);
SYSTICK_Delay250ns(4);
Value = 0;
for (i = 0; i < 16; i++)
@ -152,9 +152,9 @@ static uint16_t BK4819_ReadU16(void)
Value <<= 1;
Value |= GPIO_CheckBit(&GPIOC->DATA, GPIOC_PIN_BK4819_SDA);
GPIO_SetBit(&GPIOC->DATA, GPIOC_PIN_BK4819_SCL);
SYSTICK_DelayUs(1);
SYSTICK_Delay250ns(4);
GPIO_ClearBit(&GPIOC->DATA, GPIOC_PIN_BK4819_SCL);
SYSTICK_DelayUs(1);
SYSTICK_Delay250ns(4);
}
PORTCON_PORTC_IE = (PORTCON_PORTC_IE & ~PORTCON_PORTC_IE_C2_MASK) | PORTCON_PORTC_IE_C2_BITS_DISABLE;
GPIOC->DIR = (GPIOC->DIR & ~GPIO_DIR_2_MASK) | GPIO_DIR_2_BITS_OUTPUT;
@ -169,14 +169,14 @@ uint16_t BK4819_ReadRegister(const uint8_t Register)
GPIO_SetBit(&GPIOC->DATA, GPIOC_PIN_BK4819_SCN);
GPIO_ClearBit(&GPIOC->DATA, GPIOC_PIN_BK4819_SCL);
SYSTICK_DelayUs(1);
SYSTICK_Delay250ns(4);
GPIO_ClearBit(&GPIOC->DATA, GPIOC_PIN_BK4819_SCN);
BK4819_WriteU8(Register | 0x80);
Value = BK4819_ReadU16();
GPIO_SetBit(&GPIOC->DATA, GPIOC_PIN_BK4819_SCN);
SYSTICK_DelayUs(1);
SYSTICK_Delay250ns(4);
GPIO_SetBit(&GPIOC->DATA, GPIOC_PIN_BK4819_SCL);
GPIO_SetBit(&GPIOC->DATA, GPIOC_PIN_BK4819_SDA);
@ -188,12 +188,12 @@ void BK4819_WriteRegister(const uint8_t Register, uint16_t Data)
{
GPIO_SetBit(&GPIOC->DATA, GPIOC_PIN_BK4819_SCN);
GPIO_ClearBit(&GPIOC->DATA, GPIOC_PIN_BK4819_SCL);
SYSTICK_DelayUs(1);
SYSTICK_Delay250ns(4);
GPIO_ClearBit(&GPIOC->DATA, GPIOC_PIN_BK4819_SCN);
BK4819_WriteU8(Register);
BK4819_WriteU16(Data);
GPIO_SetBit(&GPIOC->DATA, GPIOC_PIN_BK4819_SCN);
SYSTICK_DelayUs(1);
SYSTICK_Delay250ns(4);
GPIO_SetBit(&GPIOC->DATA, GPIOC_PIN_BK4819_SCL);
GPIO_SetBit(&GPIOC->DATA, GPIOC_PIN_BK4819_SDA);
}
@ -210,14 +210,14 @@ void BK4819_WriteU8(uint8_t Data)
else
GPIO_SetBit(&GPIOC->DATA, GPIOC_PIN_BK4819_SDA);
SYSTICK_DelayUs(1);
SYSTICK_Delay250ns(4);
GPIO_SetBit(&GPIOC->DATA, GPIOC_PIN_BK4819_SCL);
SYSTICK_DelayUs(1);
SYSTICK_Delay250ns(4);
Data <<= 1;
GPIO_ClearBit(&GPIOC->DATA, GPIOC_PIN_BK4819_SCL);
SYSTICK_DelayUs(1);
SYSTICK_Delay250ns(4);
}
}
@ -233,14 +233,14 @@ void BK4819_WriteU16(uint16_t Data)
else
GPIO_SetBit(&GPIOC->DATA, GPIOC_PIN_BK4819_SDA);
SYSTICK_DelayUs(1);
SYSTICK_Delay250ns(4);
GPIO_SetBit(&GPIOC->DATA, GPIOC_PIN_BK4819_SCL);
Data <<= 1;
SYSTICK_DelayUs(1);
SYSTICK_Delay250ns(4);
GPIO_ClearBit(&GPIOC->DATA, GPIOC_PIN_BK4819_SCL);
SYSTICK_DelayUs(1);
SYSTICK_Delay250ns(4);
}
}
void BK4819_EnableAFC(void)

View File

@ -23,25 +23,25 @@
void I2C_Start(void)
{
GPIO_SetBit(&GPIOA->DATA, GPIOA_PIN_I2C_SDA);
SYSTICK_DelayUs(1);
SYSTICK_Delay250ns(4);
GPIO_SetBit(&GPIOA->DATA, GPIOA_PIN_I2C_SCL);
SYSTICK_DelayUs(1);
SYSTICK_Delay250ns(4);
GPIO_ClearBit(&GPIOA->DATA, GPIOA_PIN_I2C_SDA);
SYSTICK_DelayUs(1);
SYSTICK_Delay250ns(4);
GPIO_ClearBit(&GPIOA->DATA, GPIOA_PIN_I2C_SCL);
SYSTICK_DelayUs(1);
SYSTICK_Delay250ns(4);
}
void I2C_Stop(void)
{
GPIO_ClearBit(&GPIOA->DATA, GPIOA_PIN_I2C_SDA);
SYSTICK_DelayUs(1);
SYSTICK_Delay250ns(4);
GPIO_ClearBit(&GPIOA->DATA, GPIOA_PIN_I2C_SCL);
SYSTICK_DelayUs(1);
SYSTICK_Delay250ns(4);
GPIO_SetBit(&GPIOA->DATA, GPIOA_PIN_I2C_SCL);
SYSTICK_DelayUs(1);
SYSTICK_Delay250ns(4);
GPIO_SetBit(&GPIOA->DATA, GPIOA_PIN_I2C_SDA);
SYSTICK_DelayUs(1);
SYSTICK_Delay250ns(4);
}
uint8_t I2C_Read_fast(bool bFinal)
@ -97,31 +97,31 @@ uint8_t I2C_Read(bool bFinal)
for (i = 0; i < 8; i++)
{
GPIO_ClearBit(&GPIOA->DATA, GPIOA_PIN_I2C_SCL);
SYSTICK_DelayUs(1);
SYSTICK_Delay250ns(4);
GPIO_SetBit(&GPIOA->DATA, GPIOA_PIN_I2C_SCL);
SYSTICK_DelayUs(1);
SYSTICK_Delay250ns(4);
Data <<= 1;
SYSTICK_DelayUs(1);
SYSTICK_Delay250ns(4);
if (GPIO_CheckBit(&GPIOA->DATA, GPIOA_PIN_I2C_SDA))
Data |= 1U;
GPIO_ClearBit(&GPIOA->DATA, GPIOA_PIN_I2C_SCL);
SYSTICK_DelayUs(1);
SYSTICK_Delay250ns(4);
}
PORTCON_PORTA_IE &= ~PORTCON_PORTA_IE_A11_MASK;
PORTCON_PORTA_OD |= PORTCON_PORTA_OD_A11_BITS_ENABLE;
GPIOA->DIR |= GPIO_DIR_11_BITS_OUTPUT;
GPIO_ClearBit(&GPIOA->DATA, GPIOA_PIN_I2C_SCL);
SYSTICK_DelayUs(1);
SYSTICK_Delay250ns(4);
if (bFinal)
GPIO_SetBit(&GPIOA->DATA, GPIOA_PIN_I2C_SDA);
else
GPIO_ClearBit(&GPIOA->DATA, GPIOA_PIN_I2C_SDA);
SYSTICK_DelayUs(1);
SYSTICK_Delay250ns(4);
GPIO_SetBit(&GPIOA->DATA, GPIOA_PIN_I2C_SCL);
SYSTICK_DelayUs(1);
SYSTICK_Delay250ns(4);
GPIO_ClearBit(&GPIOA->DATA, GPIOA_PIN_I2C_SCL);
SYSTICK_DelayUs(1);
SYSTICK_Delay250ns(4);
return Data;
}
@ -132,7 +132,7 @@ int I2C_Write(uint8_t Data)
int ret = -1;
GPIO_ClearBit(&GPIOA->DATA, GPIOA_PIN_I2C_SCL);
SYSTICK_DelayUs(1);
SYSTICK_Delay250ns(4);
for (i = 0; i < 8; i++) {
if ((Data & 0x80) == 0) {
GPIO_ClearBit(&GPIOA->DATA, GPIOA_PIN_I2C_SDA);
@ -140,20 +140,20 @@ int I2C_Write(uint8_t Data)
GPIO_SetBit(&GPIOA->DATA, GPIOA_PIN_I2C_SDA);
}
Data <<= 1;
SYSTICK_DelayUs(1);
SYSTICK_Delay250ns(4);
GPIO_SetBit(&GPIOA->DATA, GPIOA_PIN_I2C_SCL);
SYSTICK_DelayUs(1);
SYSTICK_Delay250ns(4);
GPIO_ClearBit(&GPIOA->DATA, GPIOA_PIN_I2C_SCL);
SYSTICK_DelayUs(1);
SYSTICK_Delay250ns(4);
}
PORTCON_PORTA_IE |= PORTCON_PORTA_IE_A11_BITS_ENABLE;
PORTCON_PORTA_OD &= ~PORTCON_PORTA_OD_A11_MASK;
GPIOA->DIR &= ~GPIO_DIR_11_MASK;
GPIO_SetBit(&GPIOA->DATA, GPIOA_PIN_I2C_SDA);
SYSTICK_DelayUs(1);
SYSTICK_Delay250ns(4);
GPIO_SetBit(&GPIOA->DATA, GPIOA_PIN_I2C_SCL);
SYSTICK_DelayUs(1);
SYSTICK_Delay250ns(4);
for (i = 0; i < 255; i++) {
if (GPIO_CheckBit(&GPIOA->DATA, GPIOA_PIN_I2C_SDA) == 0) {
@ -163,7 +163,7 @@ int I2C_Write(uint8_t Data)
}
GPIO_ClearBit(&GPIOA->DATA, GPIOA_PIN_I2C_SCL);
SYSTICK_DelayUs(1);
SYSTICK_Delay250ns(4);
PORTCON_PORTA_IE &= ~PORTCON_PORTA_IE_A11_MASK;
PORTCON_PORTA_OD |= PORTCON_PORTA_OD_A11_BITS_ENABLE;
GPIOA->DIR |= GPIO_DIR_11_BITS_OUTPUT;

View File

@ -125,7 +125,7 @@ key_code_t KEYBOARD_Poll(void)
for (i = 0, k = 0, reg = 0; i < 3 && k < 8; i++, k++)
{
uint16_t reg2;
SYSTICK_DelayUs(1);
SYSTICK_Delay250ns(4);
reg2 = GPIOA->DATA;
if (reg != reg2)
{ // noise

View File

@ -19,9 +19,9 @@
#include "driver/system.h"
#include "driver/systick.h"
void SYSTEM_DelayMs(uint32_t Delay)
void SYSTEM_DelayMs(const uint32_t Delay)
{
SYSTICK_DelayUs(Delay * 1000);
SYSTICK_Delay250ns(Delay * 4000);
}
void SYSTEM_ConfigureClocks(void)

View File

@ -19,7 +19,7 @@
#include <stdint.h>
void SYSTEM_DelayMs(uint32_t Delay);
void SYSTEM_DelayMs(const uint32_t Delay);
void SYSTEM_ConfigureClocks(void);
#endif

View File

@ -27,27 +27,6 @@ void SYSTICK_Init(void)
gTickMultiplier = 48;
}
void SYSTICK_DelayUs(const uint32_t Delay)
{
const uint32_t ticks = Delay * gTickMultiplier;
uint32_t i = 0;
uint32_t Start = SysTick->LOAD;
uint32_t Previous = SysTick->VAL;
do {
uint32_t Delta;
uint32_t Current;
do Current = SysTick->VAL;
while (Current == Previous);
Delta = (Current < Previous) ? -Current : Start - Current;
i += Delta + Previous;
Previous = Current;
} while (i < ticks);
}
void SYSTICK_Delay250ns(const uint32_t Delay)
{
const uint32_t ticks = (Delay * gTickMultiplier) >> 2;

View File

@ -20,7 +20,6 @@
#include <stdint.h>
void SYSTICK_Init(void);
void SYSTICK_DelayUs(const uint32_t Delay);
void SYSTICK_Delay250ns(const uint32_t Delay);
#endif

Binary file not shown.

Binary file not shown.