找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1517|回復(fù): 3
收起左側(cè)

STM8S105單片機不能進入串口中斷程序

[復(fù)制鏈接]
ID:562798 發(fā)表于 2021-3-9 16:15 | 顯示全部樓層 |閱讀模式
本帖最后由 donny123800 于 2021-3-10 10:20 編輯

void  UART2_Init(void)
{
CLK_CKDIVR=0X00;   // 16MHZ不分頻  
UART2_CR1=0X00;     //8位數(shù)據(jù)
UART2_CR3=0X00;     //1停止位
UART2_BRR2=0X02;    //Fmast=16MHZ    波特率9600
UART2_BRR1=0X68;
UART2_CR2|=0X24;    // 打開接收中斷使能&接收使能
}
#pragma vector = 0X17            //21
__interrupt void UART2_RX_IRQHandler(void)
{
   uchar data;
   UART2_SR&=0XDF;         
   while(!(UART2_SR&0X20));
   UART2_SR&=0XDF;
   data=UART2_DR;
}void  main(void)
{
GPIO_Int();
I2C_Init();
Key_Init();
UART2_Init();
num1=0;
num=0;
display_num();
while(1)
{
   GPIO_Int();
  // UART2_Init();
  display_num();   
}  
}
IAR編譯    進入不了串口接收中斷!輪訓接收就可以、哪位大俠幫忙看看是什么問題!


回復(fù)

使用道具 舉報

ID:367369 發(fā)表于 2021-3-9 16:38 | 顯示全部樓層
是不是因為你的 UART2_Init();放入了while(1);串口一直在被重新初始化
回復(fù)

使用道具 舉報

ID:562798 發(fā)表于 2021-3-10 10:24 | 顯示全部樓層
game灬boy 發(fā)表于 2021-3-9 16:38
是不是因為你的 UART2_Init();放入了while(1);串口一直在被重新初始化

程序運行的時候那個就注釋掉了!就是不知道怎么進入不了串口接收中斷!還是要多謝你!
回復(fù)

使用道具 舉報

ID:562798 發(fā)表于 2021-3-10 12:32 | 顯示全部樓層
已經(jīng)搞定了~!原來PD6端口模式配置錯誤!配置為上拉就可以進入中斷了!
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表