串口中断接收函数Word下载.docx
- 文档编号:15245506
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:7
- 大小:18.01KB
串口中断接收函数Word下载.docx
《串口中断接收函数Word下载.docx》由会员分享,可在线阅读,更多相关《串口中断接收函数Word下载.docx(7页珍藏版)》请在冰豆网上搜索。
//TMOD:
timer1,mode2,8-bitrelod
PCON|=0x80;
//SMOD=1;
TH1=0xF4;
//Bud:
4800fosc=11.0592MHz
IE|=0x90;
//EnbleSerilInterrupt
TR1=1;
//timer1run
//TI=1;
}
//向串口发送一个字符
voidsend_chr_com(unsignedchrch)
SBUF=ch;
while(TI==0);
TI=0;
//向串口发送一个字符串,strlen为该字符串长度
voidsend_string_com(unsignedchr*str,unsignedintstrlen)
unsignedintk=0;
do
send_chr_com(*(str+k));
k++;
}while(kstrlen);
//串口接收中断函数
voidseril()interrupt4using3
if(RI)
unsignedchrch;
RI=0;
ch=SBUF;
if(ch127)
count3=0;
inbuf1[count3]=ch;
checksum=ch-128;
else
count3++;
checksum^=ch;
if((count3==(INBUF_LEN-1))(!
checksum))
red_flg=1;
//假如串口接收的数据到达INBUF_LEN个,且校验没错,//就置位取数标志
min()
init_serilcomm();
//初始化串口
while
(1)
if(red_flg)//假如取数标志已置位,就将读到的数从串口发出
red_flg=0;
//取数标志清0
send_string_com(inbuf1,INBUF_LEN);
串口中断接收函数篇二:
STM32Urt串口中断响应、发送接收具体程序
程序实现功能:
可以直接接收USRT1的数据,并通过串口调试输出显示
#includestm32f10x_lib.h
voidNVIC_Configurtion(void);
voidRCC_Configurtion(void);
voidGPIO_Configurtion(void);
ErrorSttusHSEStrtUpSttus;
USRT_InitTypeDefUSRT_InitStructure;
USRT_ClockInitTypeDefUSRT_ClockInitStructure;
intmin()
#ifdefDEBUG
debug
#endif
RCC_Configurtion();
NVIC_Configurtion();
GPIO_Configurtion();
/*串口传输速率的大小必需与RCC所设定的时钟相对应起来*/
USRT_InitStructure.USRT_BudRte=9600;
//设置USRT的传输速率
/*设定数据的接收发送模式*/
USRT_InitStructure.USRT_WordLength=USRT_WordLength_8b;
//在一帧中传输或接
受8位数据位
USRT_InitStructure.USRT_StopBits=USRT_StopBits_1;
//定义在帧的结尾传输
一个停止位
USRT_InitStructure.USRT_Prity=USRT_Prity_No;
//奇偶失能
USRT_InitStructure.USRT_HrdwreFlowControl=USRT_HrdwreFlowControl_None;
//指定硬件流操纵模式RTS和CTS使能
USRT_InitStructure.USRT_Mode=USRT_Mode_Rx|USRT_Mode_Tx;
//指定使能
或失能发送和接受模式Tx发送使能和Rx接收使能
USRT_ClockInitStructure.USRT_Clock=USRT_Clock_Disble;
//提升USRT时
钟时使能还是失能,钟低电平活动
USRT_ClockInitStructure.USRT_CPOL=USRT_CPOL_Low;
//指定SLCK引脚
上时钟的极性
USRT_ClockInitStructure.USRT_CPH=USRT_CPH_2Edge;
//时钟第二个边缘
进行数据捕获
USRT_ClockInitStructure.USRT_LstBit=USRT_LstBit_Disble;
//在SCLK引脚上
输出最终发送的那个数据字的脉冲不从SCLK输出
USRT_ClockInit(USRT1,USRT_ClockInitStructure);
USRT_Init(USRT1,USRT_InitStructure);
/*输入输出的中断使能*/
//USRT_ITConfig(USRT1,USRT_IT_TXE,ENBLE);
USRT_ITConfig(USRT1,USRT_IT_RXNE,ENBLE);
USRT_Cmd(USRT1,ENBLE);
//启动串口使能USRT1外设
/*
USRT_SendDt(USRT1,0X26);
//发送数
据
while(USRT_GetFlgSttus(USRT1,USRT_FLG_TXE)==RESET){}//等待发送结束
*/
voidNVIC_Configurtion(void)
NVIC_InitTypeDefNVIC_InitStructure;
#ifdefVETB_TB_RM
NVYC_SetVectorTble(NVIC_VectTb_RM,0x0);
#else
NVIC_SetVectorTble(NVIC_VectTb_FLSH,0x0);
/*EnbletheUSRT1Interrupt*/
NVIC_InitStructure.NVIC_IRQChnnel=USRT1_IRQChnnel;
//通道设置为串口1中
断〔故后面应选择在“voidUSRT1_IRQHndler(void)〞开中断〕
NVIC_InitStructure.NVIC_IRQChnnelPreemptionPriority=0;
//中断占先等级0
NVIC_InitStructure.NVIC_IRQChnnelSubPriority=0;
//中断响应优先级0
NVIC_InitStructure.NVIC_IRQChnnelCmd=ENBLE;
//打开中断
NVIC_Init(NVIC_InitStructure);
voidRCC_Configurtion(void)
RCC_DeInit();
RCC_HSEConfig(RCC_HSE_ON);
HSEStrtUpSttus=RCC_WitForHSEStrtUp();
if(HSEStrtUpSttus==SUCCESS)
FLSH_PrefetchBufferCmd(FLSH_PrefetchBuffer_Enble);
FLSH_SetLtency(FLSH_Ltency_2);
RCC_HCLKConfig(RCC_SYSCLK_Div1);
RCC_PCLK2Config(RCC_HCLK_Div1);
//串口波特率确实定
RCC_PCLK1Config(RCC_HCLK_Div2);
RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);
RCC_PLLCmd(ENBLE);
while(RCC_GetFlgSttus(RCC_FLG_PLLRDY==RESET)){}
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
while(RCC_GetSYSCLKSource()!
=0x08){}
RCC_PB2PeriphClockCmd(RCC_PB2Periph_GPIO|RCC_PB2Periph_GPIOE|RCC_PB
2Periph_USRT1,ENBLE);
//RCC中打开相应的串口
voidGPIO_Configurtion(void)
GPIO_InitTypeDefGPIO_InitStructure;
//GPIO_PinRempConfig(GPIO_Remp_USRT1,ENBLE);
//转变指定管脚脚的
映射Chngesthemppingofthespecifiedpin
/*ConfigureUSRT1RTS(P12)ndUSRT1Tx(P9)slterntefunctionpush-pull根
据资料可查得各管脚对应*/
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_F_PP;
//推挽输出
GPIO_Init(GPIO,GPIO_InitStructure);
/*ConfigureUSRT2CTS(P11)ndUSRT1Rx(P10)sinputfloting*/
GPIO_InitStructure.GPIO_Pin=GPIO_Pin
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 串口 中断 接收 函数