物联网工程施工学习STM32芯片

一、原理图附上

 

目录

一、原理图附上​编辑

第二、开始学习库函数

 3、CAN总线

第一、如何学习

1. 学习STM32系列处理器前需要具备的基础知识:

- C语言编程基础知识和语法

- 嵌入式开发基础知识,例如GPIO、USART、SPI等

- 熟练使用开发环境,例如Keil、ST-Link等

2.下载官方固件库和开发工具,例如Keil、ST-LINK软件等

- 连接STM32开发板与开发电脑,将开发板与电脑连接

- 确定好使用的开发工具与开发环境,例如Keil、STM32CubeMX等

3. 建立项目:

- 打开Keil或STM32CubeMX软件

- 新建工程项目,选择目标芯片型号,例如STM32F103C8T6

- 在工具栏中选择配置向导,设置工作频率、时钟、IO口等

- 创建可执行文件,生成main.c和stm32f1xx_hal_conf.h等主要文件

-学习当然要有好的资料如

《STM32 参考手册》是 ST 出的官方资料,有 STM32 的详细介绍,包括了 STM32 的各种

寄存器定义以及功能等,是学习 STM32 的必备资料之一。

第二、开始学习库函数

推荐使用库函数开发的方法。这样很多底层的寄存器不需要自己配置,只要会用官方库函数就行了。配合库函数使用手册,可以清楚的查到每个函数的使用方法。因此推荐先使用例程的工程文件,逐步学习如何修改。比如点亮流水灯的工程,对于IO口的操作并不太复杂,初始化完成之后通过Setbit和Resetbit这两个函数就可以实现高低电平的输出。然后,可以试着改一下亮灭,增加一个按键控制,中断延时,等等。

1.Stm32f10x.h相当于reg52.h(里面有基本的位操作定义),另一个为stm32f10x_conf.h专门控制外围器件的配置,也就是开关头文件的作用。

2.STM32的定时器从0开始计数,满足一些条件,给出标志位(比如匹配成功、时间更新、溢出等)然后从0开始计数。这一点和51不同。

3.下载程序有两种方式,一种为ICP(在线编程),适用于JTAG或SWD协议下的烧写程序。另一种成为IAP(在应用编程),适用于很多接口(USB,串口,CAN)下载到存储器中,IAP允许在程序运行时重新烧写FLASH。

4.Code为程序代码部分;

RO-data表示程序定义的常量;

RW-data表示已初始化的全局变量;

ZI-data表示未初始化的全局变量,以及初始化为0的变量;

Code, RO-data,RW-data..............flash;

RW-data, ZIdata...................RAM;

初始化时,RW-data从flash拷贝到RAM。

5.STM32的外部中断是以组来区分的,也就是说PA0,PB0,PC0单片机是无法区分其中哪个触发的中断à均为EXIT0线中断服务例程。所以,外部中断支持16路的中断分辨率。从另一个方面来讲,我们可以设置GPIO_EXTILineConfig(GPIO_PortSourceGPIOx, GPIO_PinSourcex);来开通中断线实现组内的不同中断。

6.DAC有两个寄存器,一个是DHR(Data HoldingRegister)数据保持寄存器,一个DOR(Data Output Register)数据输出寄存器。真正起作用的是DOR寄存器,该寄存器把值给数模转换发生单元输出以VREF+为参考电压的电压值。如果是硬件触发转换,系统将在1个ABP时钟周期后把值给DOR,如果是软件触发转换,时间为3个APB时钟周期。然后,均等待Tsetting时间(Typical为3us,Max为4us)后真正输出电压值。

7.DMA仲裁器分为软件和硬件两种。软件部分分为4个等级,分别是很高优先级、高优先级、中等、低。硬件部分由通道的大小来决定优先级,越低优先级越高。

8.DMA有一个实时的传输数据量寄存器叫做DMA_CNDTR,最大值为65535,存放的是当前传输所要传输的数据量。当数据量变为0时,表明传输完成

 3、CAN总线

CAN总线具有以下六个特点:

  • 多主控制(挂接在总线上的所有设备均可以成为主设备,并且设备ID是用来决定设备的优先级,没有设备地址概念);

  • 系统若软性(没有设备地址概念);

  • 通讯速度较快,通讯距离较远(1Mbps下40M,5kbps下10KM);

  • 具有错误检测、错误通知(通知其他设备)和错误恢复功能(强制结束发送,重复发送接收错误的信息。);

  • 故障封闭,当总线上的设备发生连续故障错误时,CAN控制器会把改控制器踢出总线;

  • 连接节点多。理论上可以无限制加载,但是受到时间延迟和电气负载的限制,实际数目是有限制的。降低传输速度可以适当增加可挂接负载个数。

     

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值