void Rfchip_Spi_Init(void) {
?? ?LL_GPIO_ResetOutputPin(GPIOA,LL_GPIO_PIN_5); ?? ?LL_GPIO_ResetOutputPin(GPIOA, LL_GPIO_PIN_7); ?? ?RFChip_Disable; }
void Rf_Spi_Write_Byte(uint8_t dat) {
?? ?LL_GPIO_ResetOutputPin(GPIOA,LL_GPIO_PIN_5);
?? ?LL_GPIO_SetPinMode(GPIOA,LL_GPIO_PIN_7,LL_GPIO_MODE_OUTPUT); ?? ?for (uint8_t i = 0; i < 8; i++) ?? ?{ ?? ??? ?if ((dat & 0x80) == 0x80) ?? ??? ??? ?LL_GPIO_SetOutputPin(GPIOA,LL_GPIO_PIN_7); ?? ??? ?else ?? ??? ??? ?LL_GPIO_ResetOutputPin(GPIOA,LL_GPIO_PIN_7); ?? ??? ? ?? ??? ? ?? ??? ?LL_GPIO_SetOutputPin(GPIOA,LL_GPIO_PIN_5); ?? ??? ?dat <<= 1; ?? ??? ?LL_GPIO_ResetOutputPin(GPIOA,LL_GPIO_PIN_5);
?? ?}
}
uint8_t Rf_Spi_Read_Byte(void) {
?? ?uint8_t dat=0; ?? ??? ?LL_GPIO_ResetOutputPin(GPIOA,LL_GPIO_PIN_5);
?? ?LL_GPIO_SetPinMode(GPIOA,LL_GPIO_PIN_7,LL_GPIO_MODE_INPUT);
?? ?for (uint8_t i = 0; i < 8; i++) ?? ?{ ?? ??? ?dat <<= 1; ?? ??? ?LL_GPIO_SetOutputPin(GPIOA,LL_GPIO_PIN_5);
?? ??? ?if (LL_GPIO_IsInputPinSet(GPIOA, LL_GPIO_PIN_7)) ?? ??? ??? ?dat |= 0x01; ?? ??? ?LL_GPIO_ResetOutputPin(GPIOA,LL_GPIO_PIN_5);
?? ?} ?? ?return dat; } ?
|