原创 stm8s 獨立看門狗

看門狗的作用就是爲了在程序跑飛後能夠復位,配置如下:     IWDG_KR = 0xCC; //啓動IWDG     IWDG_KR = 0x55; //解除 PR 及 RLR 的寫保護     IWDG_RLR = 0xff; //看

原创 stm8s eeprom讀寫

stm8s有自帶的eeprom,起始地址是0x4000,終止到哪看手冊,因爲我用的時候只寫一個4字節數據,配置如下:入參:eeprom偏移地址,寫入的數據   void eeprom_write(const unsigned char a

原创 stm8s時鐘配置

編譯環境爲iar,芯片是stm8s105s4。外部晶振是8M。後面內容的主時鐘也都是以此時鐘來進行編寫。clk1_init將外部晶振(HSE)作爲主時鐘源,以自動切換的方式,將主時鐘配置爲8M。clk2_init將內部16M晶振(HSI)

原创 stm8s定時器輸出比較模式

stm8s定時器輸出比較一般用來做pwm輸出。因此通過pwm輸出來講解輸出比較。手冊中說“脈衝寬度調製(PWM)模式可以產生一個由TIMx_ARR寄存器確定頻率、由TIMx_CCRi寄存器確定佔空比的信號”。由這句話得出:1、ARR的值,

原创 stm8s uart配置

uart一般配置爲1個起始位,8個數據位,1個停止位,無奇偶校驗。8s105只有UART2,初始化配置如下:    UART2_CR1_M = 0;//一個起始位,8個數據位    UART2_CR1_PCEN = 0;//禁止奇偶校驗 

原创 stm8s外部中斷

stm8s外部中斷相關的寄存器除了io的幾個寄存器之外,還有就是EXTI_CR1,EXTI_CR2寄存器。這裏要注意,io的CR2寄存器的作用是開關中斷。另外,stm8s系列外部中斷沒有標誌位。以PC1下降沿觸發爲例,配置如下:asm("

原创 stm8s輸入捕獲

輸入捕獲,簡而言之,即 記錄信號到來時刻的CNTR的值,然後把該值傳給CCR。下面以PC1爲例,代碼如下:    TIM1_CR1_DIR = 0;//計數器向上計數    TIM1_IER_UIE = 1;//使能TIM1溢出中斷   

原创 一點感想,一點說明

自己使用stm8已經是16年的事了,那時候纔出來,什麼都不會,自己網上查,看手冊,一點點摸索,對stm8才慢慢熟悉。鑑於stm8資料較少,所以決定把自己所知道的一點東西分享出來,因爲我也不是所有功能都用過。希望我分享的東西能爲各位提供幫助

原创 stm8s io配置

stm8s的io有DDR,IDR,ODR,CR1,CR2這幾個寄存器。對於io的配置,其實看懂下面這張表就懂了。一般用到的也就是推輓輸出,浮空輸入和上拉輸入。下面以PC1腳爲例說明該如何配置這三種模式。推輓輸出:PC_DDR_DDR1 =

原创 stm8s定時中斷

stm8s定時器有高級定時器TIM1,通用定時器TIM2,TIM3,TIM5,以及基本定時器TIM4,TIM6。定時中斷配置基本一樣。需要注意的也就是分頻不同,定時器位數不同。16位定時器配置後面再說,這裏以基本定時器TIM4爲例,產生2