標(biāo)題:
STM32環(huán)形隊列源程序 適用于UART、USB通訊
[打印本頁]
作者:
new9225
時間:
2020-3-26 10:33
標(biāo)題:
STM32環(huán)形隊列源程序 適用于UART、USB通訊
附件是STM32環(huán)形隊列程序,適用于UART、USB通訊,已經(jīng)在多個產(chǎn)品中驗證。
單片機(jī)源程序如下:
#include <stm32f10x.h>
#include <stdio.h>
#include "stdlib.h"
#include <string.h>
#include "sys.h"
#include "queue.h"
#include "usart1.h"
#include "usart2.h"
u8 buf_uart[1024];
const vu32 uart_buf_size=sizeof(buf_uart);
//==============================================================================================
// ----Function: 寫滿回調(diào)函數(shù)
// --Parameters:
// -----Returns:
//---------Note:
//==============================================================================================
u8 QueueWriteFull(DataQueue *Buf, QUEUE_DATA_TYPE Data, u8 Mod)
{
return QUEUE_FULL;
}
//==============================================================================================
// ----Function: 寫滿回調(diào)函數(shù)
// --Parameters:
// -----Returns:
//---------Note:
//==============================================================================================
void InitQueue(void)
{
if (QueueCreate((void *)buf_uart,
uart_buf_size,
NULL,
(u8 (*)())QueueWriteFull)
== NOT_OK)
{
//printf("buf_uart queue init err!\n\r");;
}
}
int main(void)
{
vu32 temp;
vu8 Key;
vu8 FlashCnt=0;
u8 data[64];
//================================
u16 i;
//==================================================================
//#define VECT_TAB_OFFSET 0 //0x4000
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //分組2:2位搶占優(yōu)先級,2位響應(yīng)優(yōu)先級
InitQueue();
uart1_init(19200); //串口1初始化為19200---for debug
uart2_init(19200); //串口2初始化為19200---for Encrypt
while(1)
{
//=================== USB CMD Decode =========================
if (QueueNData((void *)buf_uart) > 63)
{
for(i=0;i<64;i++)
QueueRead(data+i, (void *)buf_uart);
uart_puts(data);
}
}
}
復(fù)制代碼
所有資料51hei提供下載:
STM32_Queue.7z
(249.95 KB, 下載次數(shù): 88)
2020-3-26 23:15 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1