本文目录一览

1,Stm32嵌入式

16个引脚正好是16位啊,0x1101没有超过16位的。u8表示usigned char类型,,u16表示usigned short类型,u32表示usigned int类型。

Stm32嵌入式

2,32位的arm里面默认的int型是多少位的

32位的arm里面int是4个字节,32bit的,short是2个字节; 51系列单片机里面,int型是2个字节的。
应该是32位的再看看别人怎么说的。

32位的arm里面默认的int型是多少位的

3,STM32 问题

RCC和CR都是在"stm32f10x.h"中定义的常量:RCC定义为一个struct,表示RCC中所有寄存器的最低地址CR是RCC的struct的一部分,表示相对于最低地址的偏移地址所以RCC-〉CR大致翻译过来就是RCC+CR的位置比如RCC定义为0x20000000,CR是RCC中第五个int的变量,那么值就是0x20000000 + 4 * 0x4(一个int的大小)=0x20000010
RCC :复位和时钟控制 RESET AND CLOCK CONTROLRCC->CR是RCC的一个寄存器

STM32 问题

4,STM32的全称是

STM32是32位MCU(微控制器单元)系列产品的统称,是SGS Thomson Microelectronics公司(中文通常称为ST公司或意法公司)的产品,这个公司由意大利的SGS微电子公司和法国Thomson半导体公司合并而成。截至2010年7月1日,市面流通的STM32型号有:基本型:STM32F101R6、STM32F101C8、STM32F101R8、STM32F101V8、STM32F101RB、STM32F101VB增强型:STM32F103C8、STM32F103R8、STM32F103V8、STM32F103RB、STM32F103VB、 STM32F103VE、STM32F103ZE互联型:STM32F105、STM32F107这些产品统称为STM32【参考】https://baike.baidu.com/item/stm32/9133302?fr=aladdin

5,stm32的GPIOA有16个引脚但是GPIOA也是寄存器吗有多少位

stm32是32位的,其中的所有寄存器都是32位的,但是不同寄存器中,有效的位数相应改变。GPIO有端口配置低寄存器GPIOx_CRL:配置0-7引脚的模式,每个引脚配4bit,两位用于配置输入模式,两位用于配置输出模式端口配置高寄存器GPIOx_CRH:配置8-15引脚的模式(同上)端口输入数据寄存器GPIOx_IDR(低16位有效)并行读入16位数据端口输出数据寄存器GPIOx_ODR(低16位有效)并行输出16位数据端口位设置/清除寄存器GPIOx_BSRR:拉高拉低相应引脚,1bit对应1引脚端口位清除寄存器GPIOx_BRR(低16位有效):拉低相应引脚,同上端口配置锁存寄存器GPIOx_LCKR(17位有效)x=A B C D E;具体可以参看《stm32参考手册》
bsrr写1的位置1,brr写1的位置0;这两个命令是不同的,一个用于清零,一个用于置1;这两句话等同与gpioa->odr = gpioa->(odr&0xff00)|cmd;

6,stm32 fsmc怎样配置

第一个角度理解stm32有fsmc(其实其他芯片基本都有类似的总线功能),fsmc的好处就是你一旦设置好之后,wr(写)、rd(读)、db0-db15这些控制线和数据线,都是fsmc自动控制的。打个比方,当你在程序中写到:*(volatile unsigned short int *)(0x60000000)=val;那么fsmc就会自动执行一个写的操作,其对应的主控芯片的we、rd这些脚,就会呈现出写的时序出来(即we=0,rd=1),数据val的值也会通过db0-15自动呈现出来(即fsmc-d0:fsmc-d15=val )。地址0x60000000会被呈现在数据线上(即a0-a25=0,地址线的对应最麻烦,要根据具体情况来,好好看看fsmc手册)。那么在硬件上面,我们需要做的,仅仅是mcu和lcd控制芯片的连接关系:we-wr,均为低电平有效rd-rd,均为低电平有效fsmc-d0-15接lcd db0-15fsmc_ne1--cs接pd7连接好之后,读写时序都会被fsmc自动完成。但是还有一个很关键的问题,就是rs没有接因为在fsmc里面,根本就没有对应rs。怎么办呢?这个时候,有一个好方法,就是用某一根地址线来接rs。比如我们选择了a16这根地址线来接,那么当我们要写寄存器的时候,我们需要rs,也就是a16(rs为高)置高。
FSMC分为四个BANK,其中BANK1通过NE[1..4]可以片选四个外设,一般对于入门者来说主要看的就是BANK1的操作,比如NOR Flash和LCD的操作。这里我主要说BANK1的设置。 对BANK1的操作主要是首先设置FSMC_BCRx[1..4],FSMC_BTRx[1..4]和FSMC_BWTRx[1..4]寄存器,把这几个寄存器的意义弄明白了就基本好了: FSMC_BCRx是控制设置。 FSMC_BTRx是读写时序设置。 FSMC_BWTRx是写时序设置,具体内容与FSMC_BTRx相同。 如果FSMC_BCRx[1..4]中设置了EXTMOD位, 则FSMC_BTRx[1..4]和FSMC_BWTRx[1..4]两个时序寄存器分别对应读、写操作。 如果未设置EXTMOD位,则读和写使用相同的时序FSMC_BTRx[1..4]。

文章TAG:stm32stm32  多少  嵌入  
下一篇