打印
[STM8]

STM8的 UART1 静默模式地址匹配问题

[复制链接]
3441|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
CYJMCU|  楼主 | 2014-3-1 16:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

在stm8s的UART1中应该支持静默模式。

代码如下


#include "stm8s.h"

#define LED_ON   GPIO_WriteLow(GPIOC,GPIO_PIN_1|GPIO_PIN_2);
#define LED_OFF  GPIO_WriteHigh(GPIOC,GPIO_PIN_1|GPIO_PIN_2);

/*系統時鐘初始化設置*/
void CLK_Init(void)               
{
        CLK_DeInit();
        CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);
}

/*LED初始化*/
void LED_Init(void)
{
        GPIO_DeInit(GPIOC);
        GPIO_Init(GPIOC,GPIO_PIN_1|GPIO_PIN_2,GPIO_MODE_OUT_PP_HIGH_FAST);
}
/*UART1初始化*/
void UART_Init(void)
{
        UART1_DeInit();
        /*UART1通訊波特率為9600 ,字長為8位
         停止位為1位,無校驗,無同步,接收啟動*/
        UART1_Init((u32)9600, UART1_WORDLENGTH_8D, UART1_STOPBITS_1,
        UART1_PARITY_NO, UART1_SYNCMODE_CLOCK_DISABLE, UART1_MODE_RX_ENABLE);

        CLK_PeripheralClockConfig(CLK_PERIPHERAL_UART1, ENABLE);//給UART1時鐘信號源
        UART1_ITConfig(UART1_IT_RXNE_OR, ENABLE); //啟動UART1接收中斷  
       
        UART1_WakeUpConfig(UART1_WAKEUP_ADDRESSMARK);//地址匹配时唤醒
        UART1_SetAddress(0x02);  //UART1从机地址
        UART1_ReceiverWakeUpCmd(ENABLE);//使能接收唤醒
        UART1_Cmd(ENABLE);  //啟動UART1
       
       
       
}
/*主函數*/
void main()
{
        CLK_Init();
        LED_Init();       /*LED初始化*/
        UART_Init();
        enableInterrupts();//啟動全局中斷
        while(1);
}


问题是我从上位机发送数据 102(从机地址为2) .为何单片机不能进入中断?





沙发
mmuuss586| | 2014-4-20 22:08 | 只看该作者
中断全开了?

使用特权

评论回复
板凳
CYJMCU|  楼主 | 2014-5-18 12:53 | 只看该作者
mmuuss586 发表于 2014-4-20 22:08
中断全开了?

开了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

21

主题

110

帖子

5

粉丝