10 2018 档案

摘要:aaSTM32开发板的默认配置都是使用的外部8MHz的晶振,系统时钟为72MHz,而当使用12MHz的外部晶振,如不从新配置时钟,按默认配置则软件会认为自己的系统时钟为72MHz,而实际的系统时钟为108MHz 程序运行时首先从startup中进入Reset_Handler,它会调用SystemIn 阅读全文
posted @ 2018-10-22 15:42 自由的青 阅读(4618) 评论(0) 推荐(0) 编辑
摘要:在实际应用中,会碰到上位机往单片机发送数据的情况,这时候需要配置单片机为从设备,准备接受数据 使用硬件I2C时,开启事件和缓存中断 然后在中断服务函数中接受数据 这段代码十分简单,处理EV1, EV2和EV4即可 逻辑分析仪截图如下 这次实验是这系列STM32 I2C实验的目的,因为工作项目需要我去 阅读全文
posted @ 2018-10-20 18:48 自由的青 阅读(613) 评论(0) 推荐(0) 编辑
摘要:上一篇博客是使用I2C读写EERPOM的初级版本,这次在上次的基础上添加中断,使用DMA传输控制,新添加两个读写函数 采用中断方式和DMA可以充分利用单片机强大的硬件外设,提高整体运行效率,而且,在编程上也更为便捷 新的页写函数如下 代码中注释掉的部分是原来的设计,在它下面是新的设计,首先配置好DM 阅读全文
posted @ 2018-10-19 12:37 自由的青 阅读(3972) 评论(0) 推荐(1) 编辑
摘要:本工程运行于野火MINI开发板,主控型号为STM32F103RC,读写对象为AT24C02 2Kbit容量的EEPROM STM32的硬核I2C十分复杂,而且网上有说有缺陷,这就有意思了,值得一探究竟 I2C通信中各设备有主从之分,那么此处先从简单的主模式下手,做一个简单的读写EEPROM实验 从A 阅读全文
posted @ 2018-10-17 11:30 自由的青 阅读(3677) 评论(0) 推荐(0) 编辑
摘要:实验阶段1,定时器计时1s触发中断,在中断中往外发送数据 定时器设定为36000分频,周期设定为2000,并开启中断,配置代码如下 串口配置与PC端调试助手设置一致即可,一般都配置为无硬件流控,无奇偶校验,1位停止位,八位数据位 中断服务函数中还是常规的检测中断标志位然后清除中断标志位 串口发送函数 阅读全文
posted @ 2018-10-15 12:03 自由的青 阅读(1559) 评论(0) 推荐(0) 编辑
摘要:这次实验实现一个呼吸灯的效果,LED在第一秒内渐亮,在第二秒内渐暗,如此反复 控制LED的PWM波形阶梯数为100,即2秒内PWM的占空比从0%到100%范围内先递增后递减且递增/递减的幅度为1% 在设计STM32时,将定时器时钟7200分频后得到的10K时钟作为计数器时钟,并且设置周期为100,这 阅读全文
posted @ 2018-10-13 11:30 自由的青 阅读(3214) 评论(0) 推荐(0) 编辑
摘要:STM32定时器输出比较器可以直接操作对应的GPIO,在计数器值等于比较寄存器的值时,对应的GPIO可以有以下四种动作 无动作 激活 取消激活 翻转 激活电平由输出极性寄存器决定 将LED置于定时器输出比较对应的GPIO上,对它的操作将非常方便,完全由硬件完成,不消耗CPU时间,无需中断,每个定时器 阅读全文
posted @ 2018-10-12 18:02 自由的青 阅读(1812) 评论(0) 推荐(0) 编辑
摘要:最简单的闪烁LED的方式莫过于在主函数的while循环中使用短暂延时并不断打开和关断LED,此处不做讨论 该简单工程运行在野火MINI开发板上,板上有两颗LED(D4, D5),可以通过宏定义的方式控制LED开关 其中GPIO的置位/复位函数由库提供,仿照该格式通过寄存器操作定义了GPIO位翻转函数 阅读全文
posted @ 2018-10-12 15:16 自由的青 阅读(2303) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示