久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: STM8S003外部中斷識別機械式編碼器的正反轉 [打印本頁]

作者: zhangxing008    時間: 2015-11-10 09:28
標題: STM8S003外部中斷識別機械式編碼器的正反轉
最近在項目上,用到鼠標上用的編碼器,按照廠家給的編程方法,發現容易產生誤判,故而自己用外部中斷的方式來做,發現這樣誤判的情況會得到很大的改善,現發上來與大家分享。
#include "stm8s103f3p.h"
#include "stm8s_bitsdefine.h"
#include "typedef.h"
#define  CodeA PB_IDR_0
#define  CodeB PB_IDR_1
uint8_t CodeB_last,CodeB_current,whe_ch,ADJ;
void UART1_Init(void)
{   
        UART1_CR2=0x00;        
        UART1_CR1=0x00;           
        UART1_CR3=0x00;           
        UART1_BRR2=0x00;
        UART1_BRR1=0x0d;         
        UART1_CR2=0x2C;              
}
void UART1_SendChar(uint8_t  ch)
{
        while((UART1_SR & 0x80) == 0x00);
        UART1_DR = ch;  
        
}
void IO_Init(void)
{
        PB_DDR=0x04;
        PB_CR1=0x07;
        PB_CR2=0x01;
}
void EXTI1_INIT(void)
{
        EXTI_CR1=0x08;
}
main()
{
        IO_Init();
        EXTI1_INIT();
        UART1_Init();
        _asm("rim");
        while(1) ;
}
@far @interrupt void EXTI1_IRQHandler(void)
{
        _asm("sim");
        whe_ch++;
        if(whe_ch==1)
        {
                CodeB_last=CodeB;
                IO_Init();
                EXTI_CR1=0x04;
        }
        if(whe_ch==2)
        {
                whe_ch=0;
                CodeB_current=CodeB;
                IO_Init();
                EXTI_CR1=0x08;
        }
        if((CodeB_last==1)&&(CodeB_current==0))
        {
                ADJ++;
                UART1_SendChar(ADJ);
        }
        if((CodeB_last==0)&&(CodeB_current==1))
        {
                ADJ--;
                UART1_SendChar(ADJ);
        }
        _asm("rim");
        return;
}

作者: 51黑er    時間: 2015-11-10 14:36
樓主你好 謝謝分享  2個頭文件是 系統自帶的嗎?
作者: luhuimin    時間: 2018-7-7 09:38
你這種中斷的方式,也會產生誤判;




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 欧美久操网| 国产免国产免费 | 伊人av在线播放 | 欧美a区| 青草福利 | 女同av亚洲女人天堂 | 国产高清免费视频 | 99免费精品 | 久久国产日韩欧美 | 噜啊噜在线 | 福利色导航| 国产精品久久久久久一区二区三区 | 午夜影视大全 | 久久久高清 | 国产精品久久久久久久久免费高清 | 一区二区三区免费 | 成人福利影院 | 草草网 | 国产精品欧美日韩 | 99国内精品| 午夜影院视频 | 国产欧美精品一区二区 | 久久久国产一区二区三区 | 在线观看国产 | 久久精品91久久久久久再现 | 亚洲在线免费 | 精品久久中文字幕 | 亚洲精品乱码久久久久久按摩观 | 亚洲va在线va天堂va狼色在线 | 亚洲精品一区中文字幕乱码 | 国产乱码精品一品二品 | 天天久 | 国产精品一区在线观看 | 中文字幕视频在线看5 | 91色视频在线观看 | 亚洲视频二区 | 欧美一区二区在线免费观看 | 国产精品美女久久久久久久网站 | 亚洲精品免费在线 | 国产日韩久久 | 亚洲欧美日韩在线 |