STM32硬件
本篇选择的器件是STMicroelectronics STM32F103C8T6。 该零件号是个大口子,让我们细分一下:
STM32(意法半导体平台)
F1(设备系列)
03(设备家族的细分)
C8T6(影响SRAM,闪存等的物理表现)
就像平台名称所暗示的那样,这些设备基于32位路径,因此比8位设备功能强大得多。
F103是STM32平台的一个分支(F1 03)。 该细分决定了设备的CPU和外围功能。
最后,C8T6后缀进一步定义了设备的功能,例如存储器容量和时钟速度。
选择此型号,考虑因素有:
价格低廉
货源充足
高级功能
构成因素
对于学生和业余爱好者来说,STM32F103C8T6可能仍然是花费很长时间探索ARM Cortex-M3平台的最低成本方式。 该设备随时可用,功能强大。 最终,小型PCB的外形尺寸允许将头板条焊接到边缘并插入面包板。 面包板是执行各种实验的最便捷方法。
图略
图.STM32F103C8T6 PCB(印刷电路板),带有焊接的排条
低成本还有另一个优势-例如,它允许您为涉及CAN通信的项目拥有多个设备。 本篇探讨了使用通过公共总线连接的三个设备进行的CAN通信。 低成本意味着不会被排除在学生预算之外。
考虑到其价格,STM32F103的外围支持简直是惊人的。 包括的外围设备包括:
4个16位GPIO端口(大多数为5伏耐压)
3 x USART(通用同步/异步接收器/发射器)
2个I2C控制器
2个SPI控制器
2个ADC(模拟数字转换器)
2个DMA(直接内存地址控制器)
4个定时器
看门狗定时器
1个USB控制器
1个CAN控制器
1个CRC生成器
20K静态RAM
64K(或128K)闪存
ARM Cortex M3 CPU,最大72MHz时钟
但是有一些限制。 例如,USB和CAN控制器不能同时运行。 其他外设可能会与所使用的I / O引脚冲突。大多数引脚冲突是通过AFIO(备用功能输入输出)配置进行管理的,从而允许将不同的引脚用于外围功能。
在外设配置中,可以单独启用几个独立的时钟以调整电源使用情况。 该MCU的先进功能使其适合研究。
闪存正式列出为64K字节,但您可能会发现它支持128K。
FreeRTOS介绍
与流行的AVR芯片系列(现在由Microchip拥有)不同,STM32F103系列具有足够的SRAM(静态RAM)来舒适地运行FreeRTOS。 可以访问RTOS(实时操作系统)具有多个优点,包括:
抢先式多任务处理
队列
互斥量和信号量
软件定时器
特别的优势是多任务处理能力。 这大大减轻了软件设计的负担。 使用状态机和事件循环模型会给许多高级Arduino项目带来负担。 每次循环时,软件都必须轮询事件是否已发生,并确定是否该采取某种措施。 这需要状态变量的管理,状态变量迅速变得复杂并导致编程错误。 相反,抢占式多任务提供了单独的控制任务,这些任务明确实现了其独立功能。 这是一种经过验证的软件抽象形式。
FreeRTOS提供了抢占式多任务处理功能,可自动在已配置的任务之间共享CPU时间。 但是,独立任务确实增加了它们之间安全交互的责任。 这就是为什么FreeRTOS还提供消息队列,信号量,互斥对象等来安全地对其进行管理的原因。
STM32硬件
本篇选择的器件是STMicroelectronics STM32F103C8T6。 该零件号是个大口子,让我们细分一下:
STM32(意法半导体平台)
F1(设备系列)
03(设备家族的细分)
C8T6(影响SRAM,闪存等的物理表现)
就像平台名称所暗示的那样,这些设备基于32位路径,因此比8位设备功能强大得多。
F103是STM32平台的一个分支(F1 03)。 该细分决定了设备的CPU和外围功能。
最后,C8T6后缀进一步定义了设备的功能,例如存储器容量和时钟速度。
选择此型号,考虑因素有:
价格低廉
货源充足
高级功能
构成因素
对于学生和业余爱好者来说,STM32F103C8T6可能仍然是花费很长时间探索ARM Cortex-M3平台的最低成本方式。 该设备随时可用,功能强大。 最终,小型PCB的外形尺寸允许将头板条焊接到边缘并插入面包板。 面包板是执行各种实验的最便捷方法。
图略
图.STM32F103C8T6 PCB(印刷电路板),带有焊接的排条
低成本还有另一个优势-例如,它允许您为涉及CAN通信的项目拥有多个设备。 本篇探讨了使用通过公共总线连接的三个设备进行的CAN通信。 低成本意味着不会被排除在学生预算之外。
考虑到其价格,STM32F103的外围支持简直是惊人的。 包括的外围设备包括:
4个16位GPIO端口(大多数为5伏耐压)
3 x USART(通用同步/异步接收器/发射器)
2个I2C控制器
2个SPI控制器
2个ADC(模拟数字转换器)
2个DMA(直接内存地址控制器)
4个定时器
看门狗定时器
1个USB控制器
1个CAN控制器
1个CRC生成器
20K静态RAM
64K(或128K)闪存
ARM Cortex M3 CPU,最大72MHz时钟
但是有一些限制。 例如,USB和CAN控制器不能同时运行。 其他外设可能会与所使用的I / O引脚冲突。大多数引脚冲突是通过AFIO(备用功能输入输出)配置进行管理的,从而允许将不同的引脚用于外围功能。
在外设配置中,可以单独启用几个独立的时钟以调整电源使用情况。 该MCU的先进功能使其适合研究。
闪存正式列出为64K字节,但您可能会发现它支持128K。
FreeRTOS介绍
与流行的AVR芯片系列(现在由Microchip拥有)不同,STM32F103系列具有足够的SRAM(静态RAM)来舒适地运行FreeRTOS。 可以访问RTOS(实时操作系统)具有多个优点,包括:
抢先式多任务处理
队列
互斥量和信号量
软件定时器
特别的优势是多任务处理能力。 这大大减轻了软件设计的负担。 使用状态机和事件循环模型会给许多高级Arduino项目带来负担。 每次循环时,软件都必须轮询事件是否已发生,并确定是否该采取某种措施。 这需要状态变量的管理,状态变量迅速变得复杂并导致编程错误。 相反,抢占式多任务提供了单独的控制任务,这些任务明确实现了其独立功能。 这是一种经过验证的软件抽象形式。
FreeRTOS提供了抢占式多任务处理功能,可自动在已配置的任务之间共享CPU时间。 但是,独立任务确实增加了它们之间安全交互的责任。 这就是为什么FreeRTOS还提供消息队列,信号量,互斥对象等来安全地对其进行管理的原因。
举报