完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
想要用STM32F103做一个项目:
用两个能同时运动的步进电机控制小车,一个为X轴,一个为Y轴,要求小车通过扫描传感器的方式定位,然后发某个位置的指令,小车自动去找那个位置,比如发(100,200),小车自动找到X=100,Y=200的位置,一点思路都没有,求大神指点 之前有收到源程序支援,但是是寄存器版本的‘看不懂’,且没有定位,能有库函数版本的就好了,在此附上寄存器版本程序
|
|
相关推荐
5个回答
|
|
看看源程序用了什么算法
|
|
|
|
要先搞定100 200 分别对应的clock,这样就可以驱动轮子跑过去了吧
|
|
|
|
先把项目分块,比如步进电机是一块,命令收发是一块,传感器是一块,然后分块进行调试,再组合起来就可以了。
另外还需要确定项目各部分功能的细节,比如扫描传感器是具体什么传感器,小车通过什么方式来确定自身的具体位置,等等。 一个项目要做到不断的细分,这样就可以找到思路了 |
|
|
|
本来巴拉巴拉的说了一堆,后面发现没能解决掉楼主的问题,感觉这个问题描述的不是很清楚,对于程序的部分,我就拉着主程序部分看了一下,对于里面的程序书写格式以及语言结构表示这个程序员OK,易读性OK,程序注释一般(对外注释少量信息对程序的一种保护,少量程序不注释,既然是你公司的,有些东西需要你自己去问。)。这里描述主函数部分,应该你看的懂才对。
加载已经写好的函数裤和定时器以及其他单片机的必要文件。 1,首先就是两个默认设置调用函数以及GPIO引脚功能输出设置和定时器设置。 TIM2为主定时器,TIM3为辅助动作定时器,接下来就是两种模式的配置参数输出, PWM和脉冲。 2,各个定时器触发模式,以及触发条件对应的模式。 3,工厂模式参数,对于下有些参数需要硬件或者信息输入才能获取不好猜测。 4,主函数入口, u32 i=0; /*定义无符号单精度整型变量i=0; NVIC_Config(); /*加载NVIC下降沿触发中断操作函数。 GPIO_Config(); /*加载GPIO引脚设置函数。 在下面就是两个循环操作函数,相信你看的懂。 主程序部分就这个了,当小车收到传感器信号,回传单片机,主程序部分需要添加一个函数入口,或封装一个函数触发保存信息以及电机控制,不管是控制PWM还是电机启动,以及找寻目标位置的都有相对应的硬件方法和软件方法,但两个都必须要有。 |
|
|
|
。。看里面的主函数就好了啊,所有程序的开始都是从MIAN或者自定义MIAN函数开始的,自定义主函数需要修改头文件,但大部分都是MIAN函数开始,一条一条读就好了,从主体结构。
关于程序的部分思路,问程序员去啊,有些硬件部分的东西你应该是知道的,并且有些函数就是在mian函数文件中载入外部文件进来的,也就是封装函数库,如果要看那里面的东西,抱歉我水平还是有限的,也就学到API就停了,多线程都没学完。 其实这个是用C写的,用汇编的话限制太大,除非看到硬件本体和相关参考资料才能分析。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2105 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1941 浏览 3 评论
4537 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
2084 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2599 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 20:58 , Processed in 0.542528 second(s), Total 52, Slave 43 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号