Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
- {
- if(huart->Instance == USART2)
- {
- EMPTY_RX++;
- HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET);
- HAL_Delay(100);
- HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_RESET);
- HAL_Delay(100);
- if(EMPTY_RX >= BUFF_SIZE)
- {
- EMPTY_RX=0;
- }
- HAL_UART_Receive_IT(&huart2, (uint8_t*)&BUFF_RX[EMPTY_RX], 1);
- }
- }
- void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
- {
- if(huart->Instance == USART2)
- {
- uint8_t idx = EMPTY_TX;
- __disable_irq();
- if(BUSY_TX == EMPTY_TX && __HAL_UART_GET_FLAG(&huart2, UART_FLAG_TXE) == SET)
- {
- EMPTY_TX = idx;
- uint8_t tmp = BUFF_TX[BUSY_TX];
- BUSY_TX++;
- if(BUSY_TX >= BUFF_SIZE)
- BUSY_TX = 0;
- HAL_UART_Transmit_IT(&huart2, (uint8_t*)&tmp, 1);
- }
- else
- {
- EMPTY_TX = idx;
- }
- __enable_irq();
- }
- }
- void send()
- {
- uint8_t idx = EMPTY_TX;
- for(int i=0; i<5; i++)
- {
- BUFF_TX[idx] = 0x41;
- idx++;
- if(idx >= BUFF_SIZE)
- idx=0;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement