```c
#include "stm32f10x.h"
#include "usart.h"
#include "ring_buffer.h"
#define BUFFER_SIZE 128
uint8_t buffer[BUFFER_SIZE]; // 定義一個大小為128的緩沖區
ring_buffer_t ring_buffer; // 定義一個環形緩沖區結構體
void USART1_IRQHandler(void)
{
if (USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) // 判斷是否接收到數據
{
uint8_t data = USART_ReceiveData(USART1); // 讀取接收到的數據
ring_buffer_push(&ring_buffer, data); // 將數據壓入環形緩沖區
}
}
int main(void)
{
SystemInit(); // 系統初始化
USART1_Config(); // 配置USART1
ring_buffer_init(&ring_buffer, buffer, BUFFER_SIZE); // 初始化環形緩沖區
while (1)
{
if (!ring_buffer_is_empty(&ring_buffer)) // 判斷環形緩沖區是否為空
{
uint8_t data = ring_buffer_pop(&ring_buffer); // 從環形緩沖區中取出數據
// 處理接收到的數據
}
}
}
```
審核編輯 黃宇
-
STM32
+關注
關注
2270文章
10900瀏覽量
356048 -
代碼
+關注
關注
30文章
4788瀏覽量
68616 -
RK3588
+關注
關注
6文章
329瀏覽量
4345
發布評論請先 登錄
相關推薦
米爾RK3576和RK3588怎么選?-看這篇就夠了
RK3588與RK3576區別解析
![<b class='flag-5'>RK3588</b>與<b class='flag-5'>RK</b>3576<b class='flag-5'>區</b>別解析](https://file1.elecfans.com/web3/M00/02/A3/wKgZO2dhE46AFp6nAAS_GjLegEc632.png)
基于RK3588的NPU案例分享!6T是真的強!
實測分享,瑞芯微RK3588八核國產處理器性能測評!確實“遙遙領先”!
外協:RK3588適配linux
基于RK3588核心板的AI邊緣計算網關設計方案
![基于<b class='flag-5'>RK3588</b>核心板的AI邊緣計算網關設計方案](https://file1.elecfans.com/web2/M00/EA/6A/wKgZomZYR3iAcVRSAADYMHGkeVo846.png)
亮鉆科技推出重磅新品:基于RK3588S平臺的K-3588S
![亮鉆科技推出重磅新品:基于<b class='flag-5'>RK3588</b>S平臺的K-<b class='flag-5'>3588</b>S](https://file1.elecfans.com/web2/M00/E3/4C/wKgZomY8aXKAUuN5AAB5ELoenZo098.png)
評論