自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 一点感想,一点说明

自己使用stm8已经是16年的事了,那时候才出来,什么都不会,自己网上查,看手册,一点点摸索,对stm8才慢慢熟悉。鉴于stm8资料较少,所以决定把自己所知道的一点东西分享出来,因为我也不是所有功能都用过。希望我分享的东西能为各位提供帮助,能成为让各位直接改改参数或者引脚就能套用的模板。开发环境为iar,芯片为stm8s105s4t6c(44pin),外部晶振为8M。纯寄存器开发(因为,一开始不知...

2018-03-17 23:00:26 301 2

原创 stm8s 独立看门狗

看门狗的作用就是为了在程序跑飞后能够复位,配置如下:     IWDG_KR = 0xCC; //启动IWDG     IWDG_KR = 0x55; //解除 PR 及 RLR 的写保护     IWDG_RLR = 0xff; //看门狗计数器重装载数值            IWDG_PR = 0x06; //分频系数为256,最长超时时间为:1.02s     IWDG_KR = 0xAA...

2018-03-27 19:35:40 514

原创 stm8s eeprom读写

stm8s有自带的eeprom,起始地址是0x4000,终止到哪看手册,因为我用的时候只写一个4字节数据,配置如下:入参:eeprom偏移地址,写入的数据   void eeprom_write(const unsigned char addr,unsigned long date){   asm("sim");   FLASH_CR1_FIX = 1;//编程时间固定为标准编程时间   FLAS...

2018-03-27 19:21:29 3988

原创 stm8s ADC单次模式

因为stm8s模拟输入io默认为浮空输入,所以我没有配置io,而是直接配置了ADC。ADC单次模式,简而言之就是只采集一次信号,然后就不再采集了。ADC单次模式配置方法如下:     ADC_CR1_ADON = 0;//关闭ADC      ADC_CSR_EOCIE = 1; //使能转换结束中断     ADC_CR1_SPSEL = 4;//预分频为8->1MHz     ADC_C...

2018-03-27 18:39:36 4141

原创 stm8s uart配置

uart一般配置为1个起始位,8个数据位,1个停止位,无奇偶校验。8s105只有UART2,初始化配置如下:    UART2_CR1_M = 0;//一个起始位,8个数据位    UART2_CR1_PCEN = 0;//禁止奇偶校验    UART2_CR3_STOP = 0;//1个停止位    UART2_BRR2 = 0x01;    UART2_BRR1 = 0x34; //80000...

2018-03-25 18:08:59 3521

原创 stm8s输入捕获

输入捕获,简而言之,即 记录信号到来时刻的CNTR的值,然后把该值传给CCR。下面以PC1为例,代码如下:    TIM1_CR1_DIR = 0;//计数器向上计数    TIM1_IER_UIE = 1;//使能TIM1溢出中断      TIM1_PSCRH = 0x00;    TIM1_PSCRL = 0x05; //配置TIM1为6分频->0.75us记一次数     TIM1_...

2018-03-25 17:44:55 5513 1

原创 stm8s定时器输出比较模式

stm8s定时器输出比较一般用来做pwm输出。因此通过pwm输出来讲解输出比较。手册中说“脉冲宽度调制(PWM)模式可以产生一个由TIMx_ARR寄存器确定频率、由TIMx_CCRi寄存器确定占空比的信号”。由这句话得出:1、ARR的值,即定时周期=pwm周期 2、占空比=CCR/ARR。此处的x表示1,2,3,即TIM1,TIM2,TIM3。i表示通道号,具体看芯片引脚图。下面以TIM2的CH1...

2018-03-19 20:18:32 2847

原创 stm8s定时中断

stm8s定时器有高级定时器TIM1,通用定时器TIM2,TIM3,TIM5,以及基本定时器TIM4,TIM6。定时中断配置基本一样。需要注意的也就是分频不同,定时器位数不同。16位定时器配置后面再说,这里以基本定时器TIM4为例,产生2ms中断,配置如下:TIM4_IER_UIE = 1;//使能TIM4溢出中断   TIM4_PSCR = 0x06; //配置TIM4 64分频,8us记一次数...

2018-03-18 14:33:17 2033

原创 stm8s外部中断

stm8s外部中断相关的寄存器除了io的几个寄存器之外,还有就是EXTI_CR1,EXTI_CR2寄存器。这里要注意,io的CR2寄存器的作用是开关中断。另外,stm8s系列外部中断没有标志位。以PC1下降沿触发为例,配置如下:asm("sim");//关总中断EXTI_CR1_PCIS = 2;//仅下降沿触发PC_DDR_DDR1 = 0;//io方向:输入PC_CR1_C11=0;//因为D...

2018-03-17 22:31:13 2936

原创 stm8s io配置

stm8s的io有DDR,IDR,ODR,CR1,CR2这几个寄存器。对于io的配置,其实看懂下面这张表就懂了。一般用到的也就是推挽输出,浮空输入和上拉输入。下面以PC1脚为例说明该如何配置这三种模式。推挽输出:PC_DDR_DDR1 = 1;//io方向:输出PC_CR1_C11 = 1;//因为DDR为1,所以CR1置1表示推挽输出模式PC_ODR_ODR1 = 1;//1:输出高 , 0:输...

2018-03-17 14:47:47 3786 1

原创 stm8s时钟配置

编译环境为iar,芯片是stm8s105s4。外部晶振是8M。后面内容的主时钟也都是以此时钟来进行编写。clk1_init将外部晶振(HSE)作为主时钟源,以自动切换的方式,将主时钟配置为8M。clk2_init将内部16M晶振(HSI)进行2分频后也是8M。这样就完成了stm8s的时钟配置。需要注意的是,stm8s以外部晶振作为时钟的时候,没有分频器,如果在切换后对时钟进行分频,即修改CLK_C...

2018-03-17 14:28:10 2899

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除