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:
parent
b438d7a903
commit
465d7333e3
6
audio.c
6
audio.c
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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)
|
||||
|
46
driver/i2c.c
46
driver/i2c.c
@ -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;
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
BIN
firmware.bin
BIN
firmware.bin
Binary file not shown.
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user