推荐阅读最新更新时间:2024-03-16 16:12
基于STM32f103的I2C通信接口的EPPROM模块(24C256)读写程序详解2
接上面的文章!!! 第五步:我们要封装2个函数,一个用于读8位数据,一个用于写8位数据,程序如下: 第六步:我们要利用上面2个函数再封装2个函数,一个用于向EPPROM指定的地址写指定的一字节数据,一个用于读EPPROM指定的地址的数据。程序如下: 第七步:我们要封装2个函数,用于多字节的读写!程序如下: 最后我们就是主函数了!当然这里利用串口发送数据来显示读写的数据!!! const u8 My2 ={ 地址100开始的数据 rn }; //定义了一个多字节的数据 #define MySize2 sizeof(My2) //该数据长度 int main(
[单片机]
stm32f105 spi 移植到stm32f103上
最近移植dw1000的程序,把stm32f105版本移植到103版本上去。 (1)发现两者的区别主要在于时钟上,具体请参考stm32 datasheet: 将始终改掉之后,SPI就可以运行stm32f103上了。 (2)PA15和PB3默认是用于JLINK的,需要启用复用时钟,代码如下: RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA ,ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE); GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);
[单片机]
基于STM32F103VCT6单片机的微位移控制系统设计
为实现X-Y-Z三维工作台的精确定位,设计了一种基于STM32F103VCT6单片机和步进电机的三维微位移控制系统。该系统可与上位机实现串口通信,接收上位机命令并把处理结果反馈给上位机;根据光栅传感器提供的位置反馈信息,系统可以通过对步进电机的方向、速度调节来实现精确定位;采用匀加速和匀减速方式对步进电机的速度进行调节,避免了因步进电机的突然加速和急停所带来的丢步和冲击现象。控制系统的测量实验结果表明,步进电机运行平稳,噪音低,定位精度高,控制系统性能稳定可靠。 微位移控制系统是一种集机械、光学、电子和计算机等多种技术于一体的智能化仪器。在先进制造技术与科学研究中有着极其广泛的应用,也是现代工业检测、质量控制和制造技术
[单片机]
基于STM32F103RCT6的电脑鼠控制系统方案解析
1 电脑鼠工作原理 电脑鼠周围安装六组红外传感器,分别感知左方、左前方、前方、右前方、右方,发射端发射一定频率的红外线,接收端通过六个方向的反射波来判断是否有障碍物,实时地储存单元格的资料,通过六组红外传感器反馈的迷宫信息,控制电脑鼠完成避障、转弯、加速等动作,运用智能算法对迷宫的部分单元格或全部单元格进行遍历,并将迷宫的信息以有效的数据结构存储,微控制器根据这些记录信息运用迷宫高效算法找到一条最优化路径,从而实现从起点到终点的最大化冲刺。 2 硬件电路设计 为完成迷宫探测和冲刺任务,电脑鼠需具备以下各功能模块:ARM微处理器作为控制核心协调各功能模块正常工作;电机及驱动模块实时控制电机启动、制动;红外检测模块负责红外线探测
[单片机]
STM32F103ZET6 — TIM6/TIM7
介绍 STM32F103ZET6 定时器资源非常丰富,根据 datasheet 描述,涵盖如下几种类型: 高级定时器 TIM1 / TIM8 通用定时器 TIM2 / TIM3 / TIM4 / TIM5 基本定时器 TIM6/ TIM7 本次描述的重点是基本定时器 TIM6/ TIM7 基本定时器TIM6和TIM7各包含一个16位自动装载计数器,由各自的可编程预分频器驱动。它们可以作为通用定时器提供时间基准,特别地可以为数模转换器(DAC)提供时钟。实际上,它们在芯片内部直接连接到DAC并通过触发输出直接驱动DAC。这2个定时器是互相独立的,不共享任何资源。 时钟 可以看到来自 APB1 的低频时钟经过频率x2
[单片机]
STM32CubeMX开发stm32f103rbt6 JLINK(一)
1、新建工程 2、选择芯片 3、管脚配置 4、时钟配置 5、工程生成配置 6、生成工程 7、打开软件工程 8、Keil 下载设置 9、下载 注意:安装好Jlink驱动 常见问题: 1、如图 解决:硬件问题,检查接线,电源以及BOOT0,BOOT1 2、JLINK不识别CPU 原因1、检查是否禁用了SWD:stm32f1xx_hal_msp.c---- void HAL_MspInit(void) __HAL_AFIO_REMAP_SWJ_DISABLE(); 短接复位电容(C7),在断开
[单片机]
一文了解STM32窗口看门狗的真正作用
STM32有2个看门狗:独立看门狗和窗口看门狗。 独立看门狗IWDG--独立于系统之外,因为有独立时钟,所以不受系统影响的系统故障探测器,主要用于监视硬件错误。 窗口看门狗WWDG----系统内部的故障探测器,时钟与系统相同。如果系统时钟不走了,这个狗也就失去了作用了,主要用于监视软件错误。 简单的讲,看门狗就是检测系统故障的,如果因为系统故障而没有及时喂狗,则引发复位重启。 对于一般的看门狗,程序可以在它产生复位前的任意时刻刷新看门狗,但是这样有一个隐患,有可能程序跑乱了又跑回正常的地方,或者跑乱的程序正好执行了刷新看门狗操作,这样的情况下一按的看门狗就检测不出来故障了;但是如果使用窗口看门狗,程序员可以根据程序正常
[单片机]
stm32f103 学习笔记 —— 05 使用SysTick实现硬件延时
SysTick定时时间计算(当系统时钟为72M时) t =重载*(1 / Clk) Clk = 72M时,t =(72)*(1 / 72M)= 1 us Clk = 72M时,t =(72000)*(1 / 72M)= 1ms 1s = 1000ms = 1000 000 us = 100 000 000 ns 当系统定时器中断与外设中断进行优先级比较时,只需要把内核外设的中断优先级的四个位按照外设的中断优先级来分组解析即可,即人为的分出抢占优先级和子优先级 SysTick_Config()函数 //这个固件库函数在core_com3.h中 静态__INLINE uint32_t SysTick_Config(ui
[单片机]