stm32与stm8操作寄存器的区别

MeCary MeCary     2022-09-06     647

关键词:

  STM8中,由于STM8寄存器较少,在头文件中定义寄存器的时候不用采取任何形式的封装,所以操作寄存器的时候直接可以用如下方式处理:PB_DDR |=0x20;

  

  但是在STM32中,由于其寄存器实在太多,不方便像STM8一样定义头文件,而采用大量的结构体指针,宏定义进行封装,所以操作寄存器的时候用如下方式处理:GPIOC->ODR = 0X0000;而不再像STM8一样直接写成GPIOC_ODR =0X0000;

   

 

stm8s时钟配置clk_hsiprescalerconfig与clk_sysclkconfig区别

STM8S的时钟配置通过:CLK_CKDIVR寄存器,而CLK_CKDIVR一个是配置HSI分频,另一个是配置CPU的分频 staticvoidCLK_Config(void){CLK_DeInit();/*ClockdividertoHSI/1*/CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1); //只配置HSI分频率,CPU分频率 查看详情

基于stm8的tim定时器操作(代码片段)

...得采用各个定时器设计应用变得非常容易与方便(相同的寄存器映射,相同的基本功能)。  本文只针对STM8S103该芯片进行介绍,STM8S的定时器个数为3个,每个类型的定时器都一个,分别为高级控制型(T 查看详情

stm32中操作寄存器gpiob_crl&=~(0x0f<<(4*0))与gpiob_crl&=~(0x0f)之间有啥区别吗?

...上看到的,它说GPIOB_CRL&=~(0x0F<<(4*0))只会改变PB0的引脚寄存器,不会改变其他引脚的状态,可是~(0x0F<<(4*0))=0xF0,不还有其他4位被置一了吗?所以有些疑惑,还有~(0x0F<<(4*0))和~0x0F有什么区别吗?没有区别,在这个代码中用到4*0... 查看详情

stm32二

第一部分固件库含义  库是在寄存器与用户驱动层之间的代码,也就是一些基础函数,他可以向下处理与寄存器直接相关的配置,向上为用户提供配置寄存器的结构,用库与不用库的区别非常明显:  用户显然更加快捷CMSIS... 查看详情

stm32寄存器库和固件库

寄存器和固件库开发的差别和联系固件库就是函数的集合,固件库函数的作用是向下负责与寄存器直接打交道。向上提供用户函数调用的接口(API)。在51的开发中我们经常的作法是直接操作寄存器,比方要控制某些IO口的状态... 查看详情

请教各位,stm8l与stm8s在编程方面差别有多大

看了STM8S和STM8L的资料,脑子一团糟啊,这两款都是STM8的内核,也就是说MIPS性能大致相当,唯一不同就是工作电压不一样,STM8L可以工作在最低1.65V左右参考技术A寄存器差别大,L的外设更多。 查看详情

stm32用库函数操作和寄存器操作

之前用的51,现在买书,突然看到这个库函数和寄存器操作,脑子里面也没有什么概念,希望大神能够给我解释清楚。他们之间的关系和区别。是不是就是类似一个C语言一个类似汇编的关系?首先,两个都是C语言。从51过渡过来... 查看详情

flashprogrammemoryanddataeeprom

...  STM8S内部的FLASH程序存储器和数据EEPROM是由一组通用寄存器来控制的;所以我们可以通过这些通用寄存器来编程或擦除存储器的内容、设置写保护、或者配置特定的低功耗模式。我们也可以自己对器件的optionbyte进行编程。在... 查看详情

stm8时钟输出引脚

CLK_CCO引脚是STM8的时钟输出引脚,若设置该脚输出主时钟Fmaster,时钟输出寄存器可以进行如下操作CLK->CCOR=0X19;    查看详情

嵌入式开发|51stm32linux点灯的区别

...KeilC51、STC-ISP下载软件51单片机开发,通常是直接操作寄存器,比如P1_0对应LED的IO口。源代码:#include<reg51.h>sbitLED=P1^0;voidmain()LED=0;    while(1);STM32点灯相对于51点灯,STM32点灯难度系数要大一点,因... 查看详情

stm8io口重映射

...CH1,也就是timer1的1通道。映射方式并不像STM32那样有个AFR寄存器来配置,而是配置Optionbytes字节,如下图也就是OPT2寄存器,注意是STM8S003F3系列的,其它的芯片配置字节是不一样的。比如要配置PC6引脚为定时器1PWM输出比较通道TIM_... 查看详情

电机与stm8/stm32开发工具的连接怎么连接

参考技术A一般是通过PC的USB连接Jlink,Jlink另一端使用标准Jtag接口(有20pin和10pin两种标准)相连接STM32,也可以是SWD模式接口进行连接。电机和STM32之间一般会有驱动芯片,STM32先连接驱动芯片,驱动芯片再连接电机,驱动芯片众... 查看详情

6存储器与寄存器介绍(代码片段)

...主要内容  1.什么是存储器映射  2.什么是寄存器及寄存器映射  3.如何访问STM32寄存器内容 1.什么是存储器映射  存储器本身不具有地址信息,它的地址是由芯片厂商或用户分配,给存储器分配地... 查看详情

stm32软件复位和上电复位的区别

...电复位应该能理解吧,就是断电了,外部引起的。所有的寄存器和ram被初始化,pc被设置到复位中断入口。软件复位就是允许你用程序复位cpu。参考技术A上电复位RAM及寄存器的值设置为默认值。而软复位,则是在不掉电的情况下,... 查看详情

stm32固件库(代码片段)

...? 从学习51单片机转而进一步学习STM32的可能大都习惯了寄存器开发方式,STM32同样可以用操作寄存器的方式开发,但是STM32的数百个寄存器记起来十分困难,因此我们更多的使用固件库的形式开发。固件库就是函数的集合,固件... 查看详情

自己写库—构建库函数雏形

...onProgramInterface),开发者可调用这些函数接口来配置STM32的寄存器,使开发人员得以脱离最底层的寄存器操作;实际上,库是架设在寄存器与用户驱动层之间的代码,向下处理与寄存器直接相关的配置,向上为用户提供配置寄存器 查看详情

stm8的l系列与s系列有何区别,还有stm8共有几个系列都有和特点?

S为standard的意思,也就是标准系列(或主流系列)。L为lowpower,也就是低功耗系列。A为automotive为汽车应用系列。一般人不常用。最近新出了一个T系列,touch系列,GPIO管脚做了特殊处理,支持触摸键。参考技术AL系列为低功耗 查看详情

手把手教你stm8单片机标准库移植

...051,STM8是ST独有的8位单片机内核。2.STM8单片机内部的寄存器更多,资源更丰富,功能更强大,价格相比8051更 查看详情