stm32

STM32的自起:

第一种启动方式:

选择从主Flash启动 ,也就是默认的启动方式,当通过串口下载完成程序之后,必须切换到此种方式才能正常启动。

第二种启动方式:

这种启动方式执行stm32内部自带程序,这种方式用于通过串口下载程序。

第三种启动方式:

  这种方式从内部的SRAM开始启动程序,这种方式用于STM32的调试使用。

现在支持串口1  串口3 usb can等方式下载程序。 


stm32的GPIO,stm32的IO口支持上拉下拉 推挽 开漏这几种输出模式,支持上拉下拉 模拟 浮空这几种输出模式

    上拉下拉顾名思义就是内部通过电阻接地或者接了 电源


图上就是传说中的开漏输出,开漏输出可以做电压转换,也可以做线与。如果把图三中的电阻也换做图一的开关的话,就变成了推挽输出了。


stm32以太网遵循IEEE 802.3 ,它支持两个工业标准接口 介质独立接口(MII)和简化介质独立接口(RMII)

支持外部PHY接口实现10/100Mbit/s的传输速率

支持全双功和半双功的操作


spi接口:

spi最初是由摩托罗拉发明的,SPI总线系统是一种同步串行外设接口,它有四根线组成分别为主机输入从机输出(MISO)  主机输出从机输入(MOSI)低电平片选(NSS) 时钟线(clk),有的spi芯片还带有中断 功能 有的没有MOSI信号线。 spi 内部有两个数据缓冲区,,数据在时钟信号线的作用下移位输入输出,他以全双工的方式进行通讯,数据高位在前低位在后,他的工作速率能够达到几Mbps. spi主要使用在EEPROM  LCD  实时时钟 电源 管理芯片等,MCU通过SPI总线和外围设备进行数据传输。

SPI的初始化:

  SPI_InitTypeDef  SPI_InitStructure;
  SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;  //SPI设置为双线双向全双工 
  SPI_InitStructure.SPI_Mode = SPI_Mode_Master;  //设置为主 SPI  
  SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;  //SPI发送接收 8 位帧结构 
  SPI_InitStructure.SPI_CPOL = SPI_CPOL_High;  //时钟悬空高
  SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;  //数据捕获于第二个时钟沿 
  SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;  //内部 NSS 信号有 SSI位控制
  SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_4;  //波特率预分频值为 4
  SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;   //数据传输从 MSB 位开始
  SPI_InitStructure.SPI_CRCPolynomial = 7;  //定义了用于 CRC值计算的多项式 7
  SPI_Init(SPI1, &SPI_InitStructure);
  SPI_Cmd(SPI1, ENABLE);   //Enable SPI1

SPI有四种工作模式由CPOL CPHA 两位控制

CPOL(clock portity)

为0时,空闲时候为低电平

为1时,空闲时候为高电平

CPHA(cloak phase)

为0时,时钟周期的前一边缘采集数据,时钟周期的后一边缘输出数据

为1时,时钟周期的后一边缘采集数据,时钟周期的前一边缘输入数据

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值