Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //INTERRUPT FILE
- extern volatile char RxData[10][8];
- extern volatile uint8_t RxComplete;
- extern volatile uint8_t RxCompleteOneRow;
- extern volatile uint8_t TxComplete;
- //volatile uint32_t tick;
- //volatile uint32_t tack;
- extern volatile uint8_t ColumnRxBuffer;
- extern volatile uint8_t RowRxBuffer;
- void USART2_IRQHandler(void)
- {
- //HAL_UART_IRQHandler(&huart2);
- if(__HAL_UART_GET_IT_SOURCE(&huart2, UART_IT_RXNE))
- {
- if(RowRxBuffer < 9)
- {
- if(ColumnRxBuffer < 7)
- {
- RxData[RowRxBuffer][ColumnRxBuffer] = (uint8_t)(huart2.Instance->DR & (uint8_t)0xff);
- ColumnRxBuffer++;
- }
- else
- {
- RxData[RowRxBuffer][ColumnRxBuffer] = (uint8_t)(huart2.Instance->DR & (uint8_t)0xff);
- ColumnRxBuffer = 0;
- if(RowRxBuffer == 0)
- {
- RxCompleteOneRow = 1;
- }
- RxComplete = 1;
- __HAL_UART_FLUSH_DRREGISTER(&huart2);
- RowRxBuffer++;
- }
- }
- else
- {
- if(ColumnRxBuffer < 7)
- {
- RxData[RowRxBuffer][ColumnRxBuffer] = (uint8_t)(huart2.Instance->DR & (uint8_t)0xff);
- ColumnRxBuffer++;
- }
- else
- {
- RxData[RowRxBuffer][ColumnRxBuffer] = (uint8_t)(huart2.Instance->DR & (uint8_t)0xff);
- ColumnRxBuffer = 0;
- RxComplete = 1;
- __HAL_UART_FLUSH_DRREGISTER(&huart2);
- RowRxBuffer = 0;
- // tick = 0;
- }
- }
- }
- else if(__HAL_UART_GET_IT_SOURCE(&huart2, UART_IT_TC))
- {
- TxComplete = 1;
- }
- return;
- }
- //CONFIG FUNCTION
- static void MX_USART2_UART_Init(void)
- {
- huart2.Instance = USART2;
- huart2.Init.BaudRate = 9600;
- huart2.Init.WordLength = UART_WORDLENGTH_8B;
- huart2.Init.StopBits = UART_STOPBITS_1;
- huart2.Init.Parity = UART_PARITY_NONE;
- huart2.Init.Mode = UART_MODE_TX_RX;
- huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE;
- huart2.Init.OverSampling = UART_OVERSAMPLING_16;
- if (HAL_UART_Init(&huart2) != HAL_OK)
- {
- Error_Handler();
- }
- __HAL_UART_ENABLE_IT(&huart2, UART_IT_RXNE);
- __HAL_UART_ENABLE_IT(&huart2, UART_IT_TC);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement