高级会员

- 积分
- 783
- 金钱
- 783
- 注册时间
- 2021-4-15
- 在线时间
- 305 小时
|
本帖最后由 日渐秃兀 于 2022-6-8 14:55 编辑
个人刚学习没接触过Cube的!在一段时间的研究下做了一个硬件IIC的例子!因为正点没有这个所以想尝试使用Cube官网生成的IIC进行使用测试!测试效果挺好!倒是OLED出现会清屏发送0x00空的无法清除干净OLED显示残留不知道是不是硬件IIC的问题
使用的是STM32F407ZET6探索者开发板
后面又研究了下怎么使用Cube生成各项中断!之前看正点的例程HAL的中断写的奇奇怪怪的!都不是直接使用中断回调的!有点用不懂!生成的也直接都没有!照抄了正点的例程的中断实现!功能测试倒是没什么问题!
接下来就是ADC和DAC了!发现使用读取ADC 莫名其妙的多定义一个变量 读取ADC的数值的变量打印出来就变成8000多了!把变量定义成全局变量又好了!不知道是不是HAL的使用上要注意的!反正是有点蒙圈的!
实现了ADC和DAC的数据处理和显示之后 将误差也显示出来!发现F4系列的两者直连误差范围在20之内 应该是线损引起了!具体DAC发送的准不准确这个就没用万用表等去验证了!
后面增加IO口外部中断测试!用按键对DAC的输出进行控制!这个是我唯一一个完全没有调试就可以使用的!这很舒服!很简单!
还增加了内部温度显示的也是基于ADC的!
接下来是串口中断的实现了!最初是使用DR直接发送 因为串口中断看不懂呀!所以后面也是借鉴了例程移植!之后就是上网络模块了
移植好8266模块的驱动文件!开始上云操作!发现一个原子云大概在10几分钟会踢下线!尝试不断往原子云发送数据还是会掉线!之后开了一个定时器中断!到一定时间发送一下连接原子云的命令!模块还是有时候掉线!莫名其妙的!
还要最后的数据解析环节了!头疼的设计!对在串口3发送过来的数据进行解析!解析完成没问题之后开始连接原子云操作!
因为我使用的是原子云的手机APP软件进行测试所以发现手机发送不了一个换行符!找了一下没找到!只能手动修改接收一帧的协议了!
修改了接收的协议为两个回车也算一帧结束之后!可以开始连接模块进行透传环节了!
例程编写的没有一样的没有注释和格式化!会挺难看 特别是HAL库的 第一次使用HAL文件什么的是真的多!
例程还是跟上次发的贴子一样!连接路由器的账号和密码手动改!这个有使用到原子云 所以需要手动输入自己原子云管理设备上的编号和密码!
mian文件244行 stm32F4xx_it.c文件245行 common.c文件154行和156行
最后发现代码运行了小则半天会卡死!有时候测试了5.6天也不会卡死!不知道是什么引起了!就弃坑不继续调试了
接线参照Cube的配置
大佬勿喷
演示视频1.rar
(3.2 MB, 下载次数: 27)
|
|