91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 8KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-05-11
  • 語言: 其他
  • 標(biāo)簽: BC95??STM32??

資源簡介

https://download.csdn.net/download/m0_37132481/10030695

資源截圖

代碼片段和文件信息

#include?“bc95_uart.h“
#include?“string.h“
#include?“timer.h“
#include?“delay.h“
#include?“stdarg.h“
#include?“stdio.h“
//#define?LOS_DEV_UART_NUM?4
//los_dev_uart_t?comx[LOS_DEV_UART_NUM];

//串口接收緩存區(qū)?
u8?USART2_RX_BUF[USART2_MAX_RECV_LEN];? //接收緩沖最大USART3_MAX_RECV_LEN個字節(jié).
u8??USART2_TX_BUF[USART2_MAX_SEND_LEN];? //發(fā)送緩沖最大USART3_MAX_SEND_LEN字節(jié)
//通過判斷接收連續(xù)2個字符之間的時間差不大于10ms來決定是不是一次連續(xù)的數(shù)據(jù).
//如果2個字符接收間隔超過10ms則認(rèn)為不是1次連續(xù)數(shù)據(jù).也就是超過10ms沒有接收到
//任何數(shù)據(jù)則表示此次接收完畢.
//接收到的數(shù)據(jù)狀態(tài)
//[15]:0沒有接收到數(shù)據(jù);1接收到了一批數(shù)據(jù).
//[14:0]:接收到的數(shù)據(jù)長度

vu16?USART2_RX_STA=0;??


void?bc95_uart_init(u32?bound)
{
??//GPIO端口設(shè)置
??GPIO_InitTypeDef?GPIO_InitStructure;
USART_InitTypeDef?USART_InitStructure;
// NVIC_InitTypeDef?NVIC_InitStructure;
?
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA?ENABLE); //使能USART1,GPIOA時鐘
??RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2ENABLE);

USART_DeInit(USART2);??//復(fù)位串口2

//USART2_TX???GPIOA.2
??GPIO_InitStructure.GPIO_Pin?=?GPIO_Pin_2;?//PA.2
??GPIO_InitStructure.GPIO_Speed?=?GPIO_Speed_50MHz;
??GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_AF_PP; //復(fù)用推挽輸出
??GPIO_Init(GPIOA?&GPIO_InitStructure);//初始化GPIOA.2
???
??//USART2_RX ??GPIOA.3初始化
??GPIO_InitStructure.GPIO_Pin?=?GPIO_Pin_3;//PA3
??GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_IN_FLOATING;//浮空輸入
??GPIO_Init(GPIOA?&GPIO_InitStructure);//初始化GPIOA.3??

??
???//USART?初始化設(shè)置

USART_InitStructure.USART_BaudRate?=?bound;//串口波特率
USART_InitStructure.USART_WordLength?=?USART_WordLength_8b;//字長為8位數(shù)據(jù)格式
USART_InitStructure.USART_StopBits?=?USART_StopBits_1;//一個停止位
USART_InitStructure.USART_Parity?=?USART_Parity_No;//無奇偶校驗(yàn)位
USART_InitStructure.USART_HardwareFlowControl?=?USART_HardwareFlowControl_None;//無硬件數(shù)據(jù)流控制
USART_InitStructure.USART_Mode?=?USART_Mode_Rx?|?USART_Mode_Tx; //收發(fā)模式

??USART_Init(USART2?&USART_InitStructure);?//初始化串口1

??USART_ITConfig(USART2?USART_IT_RXNE?ENABLE);//開啟串口接受中斷
??USART_Cmd(USART2?ENABLE);????????????????????//使能串口1?

TIM3_Int_Init(997199); //10ms中斷
USART2_RX_STA=0; //清零
TIM_Cmd(TIM3DISABLE); //關(guān)閉定時器7

}

void?USART2_IRQHandler(void)???????????????? //串口1中斷服務(wù)程序
{
u8?res; ??????
if(USART_GetITStatus(USART2?USART_IT_RXNE)?!=?RESET)//接收到數(shù)據(jù)
{ ?
res?=USART_ReceiveData(USART2); ?
if((USART2_RX_STA&(1<<15))==0)//接收完的一批數(shù)據(jù)還沒有被處理則不再接收其他數(shù)據(jù)
{?
if(USART2_RX_STA {
TIM_SetCounter(TIM30);//計數(shù)器清空?????????? //計數(shù)器清空
if(USART2_RX_STA==0)? //使能定時器7的中斷?
{
TIM_Cmd(TIM3ENABLE);//使能定時器7
}
USART2_RX_BUF[USART2_RX_STA++]=res; //記錄接收到的值 ?
}else?
{
USART2_RX_STA|=1<<15; //強(qiáng)制標(biāo)記接收完成
}?
}
}?
}
//串口2printf?函數(shù)
//確保一次發(fā)送數(shù)據(jù)不超過USART3_MAX_SEND_LEN字節(jié)
void?u2_printf(char*?fmt...)??
{??
u16?ij;?
va_list?ap;?
va_start(apfmt);
vsprintf((char*)USART2_TX_BUFfmtap);
va_end(ap);
i=strlen((const?char*)USART2_TX_BUF); //此次發(fā)送數(shù)據(jù)的長度
for(j=0;j {
??while(USART_GetFlagStatus(USART2USART

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-06-29?14:09??BC95\
?????文件????????6176??2018-06-12?10:35??BC95\bc95_uart.c
?????文件????????1161??2018-05-31?16:11??BC95\bc95_uart.h
?????文件???????17344??2018-06-28?12:11??BC95\neul_bc95.c
?????文件????????3038??2018-06-25?15:08??BC95\neul_bc95.h

評論

共有 條評論