C
wangduqiang747
这个作者很懒,什么都没留下…
展开
-
stm32F1规避浮点运算
stm32 浮点运算原创 2022-08-08 08:24:02 · 1806 阅读 · 5 评论 -
stm32开发中 c语言的各种数据类型的使用和相互转化
.1.int赋值float必须转换,float转字符串 char[] char* const char的各种区别. strcat() char[] 的拼接,需要把这些打印出来,要不真是举步维艰寸步难行如果时间紧优惠心浮气躁气急攻心最近把谭浩强的c买来了.开始要学习一些c,高级语言用多了c真的不顺手,需要复习下.各种数据类型的内存分布赋值 ,字符串运算类型转换 不同类型的加减乘除,转字符串,字符串转,&和*是啥意思, 数据类型 的修饰符 列举出来好像也就这么些.之前float a=原创 2022-03-15 17:24:38 · 1859 阅读 · 1 评论 -
stm32 w5500以太网模块使用
写完标题发现好像也没什么可写的.主要是硬件的东西从来没这么顺利过,总结一下1.买了之后送的文档,挺详细的,即便如此接线没有说 3.3v 和gnd要接.他们可能认为这是常识猪都知道, 但确实有人不知道比如搞软件的我,但我的直觉让我接上2.有问题的时候硬件相关会很不容易找,比如我的板子开关接触不良了,但我没贴个标签在上面,所以烧录好程序后一直没电,是通过吧仿真器插在usb 这样才提供了稳定的电压3.keil v5 是我的ide ,但示例程序是v4的,并不兼容 表现为cpu没有在我的列表里,编译好之后烧原创 2022-01-15 22:28:56 · 2774 阅读 · 2 评论 -
NPN编码器驱动方式和接线
正常的EC11编码器的驱动方式就不说了很简单哪都有精确编码器的资料比较少,接线方法见上图.与EC11的区别是需要10K的上拉电阻其他没有区别, NPN编码器是两根信号线,也是跟EC11一样的. 这里是接TIM3 的PA6 PA7引脚所谓上拉电阻,就是信号线上连一个一段接5v电源的电阻...原创 2021-06-23 07:13:23 · 1708 阅读 · 0 评论 -
Stm32通用计时器 使用ec11编码器
参考http://www.51hei.com/bbs/forum.php?mod=viewthread&tid=145101以下是TIM4 使用ec11 ,很灵敏很正常void Encoder_Init_TIM4(void){ TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_ICInitTypeDef TIM_ICInitStructure; GPIO_InitTypeDef GPIO_InitStructure;原创 2020-11-22 09:24:02 · 2034 阅读 · 0 评论 -
c语言 线程中的sleep
这样写是正常的这样写 电位器5和6 就会混一起. 5拉到最低的时候6也有数据我不想听解释,c语言垃圾原创 2020-11-06 08:06:53 · 555 阅读 · 0 评论 -
M2006+C610驱动方案(五)调参
之前的代码错误导致以为调参完成了, 其实没有https://www.sohu.com/a/155185294_464086还是要继续调, 之前是没有负荷 几乎是理想场景下的现在是加上负荷,且重心不在重心,且电机的中心线垂直于重力这样就接近真实场景了, 有正向的干扰也有反向的干扰...原创 2020-07-22 17:26:57 · 751 阅读 · 0 评论 -
M2006+C610驱动方案(四)大失败
某几个参数是可正可负的,但我却用的u16接收。正确应该是int16_t后果是没有负荷的时候表现正常。但有负荷有正向和反向的干扰时候,电机就疯了, 应为要抵抗正向干扰时候实际是加强了正向的干扰,让速度应该降下来的时候实际却更大, 更大的时候要降,实际又更大,导致电机疯了一样加速,我在旁边担惊受怕生怕负荷甩出去砸到什么东西上。老子气死了,我恨透c语言了,省字母省你????你直接unsigned int能累死你?...原创 2020-07-21 07:51:04 · 798 阅读 · 0 评论 -
垃圾matplotlib
y轴都可以不是递增的!!后来发现我传的y不是数字是字符串传字符串就ok了,那你为啥让我能传字符串 为啥传了你还能展示, 展示个莫名其妙的垃圾,你还能字符串排序给我展示折线图???智障设计...原创 2020-07-17 07:11:41 · 118 阅读 · 0 评论 -
一阶倒立摆系统
https://www.jianshu.com/p/f3e3690c5f61http://www.51hei.com/bbs/dpj-138729-1.html一阶倒立摆系统的控制问题就是通过计算给定直流电机电流大小,即小车运动所需力的大小(控制作用)使摆杆偏角和小车位置(系统输出)能够尽快达到一个平衡点(注意这里有多个控制目标),并使之没有大的振荡和超调。进一步,当系统达到稳定后能克服各种随机扰动(例如人为拨动摆杆使之突然偏离平衡点)而仍能保持稳定运行。作者:TonnyYan链接:https:.原创 2020-07-09 17:15:19 · 1709 阅读 · 0 评论 -
高时间要求下的usart通信
应该都是不直接连电脑的串口,而是通过板子上的ch340转usb,虽说usart可以异步通信,但发现还是速度慢,提高波特率后速度快了很多,256000输出1000次直观看不到1秒,这样就可以接收了原创 2020-07-07 07:10:55 · 157 阅读 · 1 评论 -
M2006+C610驱动方案(三)pid调参
首先没有用中断的方式接收总线上的信息,因为来自c610的信号是1KHz的所以if (CAN_MSGAVAIL == CAN.checkReceive()) {是不需要的,因为10微妙一个控制周期是一定有数据进来的https://zhuanlan.zhihu.com/p/39573490关于pid调参这里有个可以参考的文章。首先前提是固定下来死循环里的delay(10);和其他控制参数,只...原创 2020-04-09 21:03:27 · 1348 阅读 · 0 评论 -
M2006+C610驱动方案(二)arduino can模块
arduino can模块组成了控制端用到了https://github.com/Seeed-Studio/CAN_BUS_Shield接线和使用就不说了就收和发两个操作,只说下遇到的问题c610连到总线后收发信号都不通,c610只要通上电后就会开始以默认1kHz 的频率发信号。不通的话哪边的问题都有可能, 这时候就需要usb_can模块来调试,分别连两边都是ok的, 最后发现See...原创 2020-04-05 23:02:55 · 1621 阅读 · 5 评论 -
M2006+C610驱动方案(一)基础
c用着不顺手,总有种有心无力的感觉,一个好办法是把c的源码找来翻译成java理解充分后再写c,基础1 , can总线通信can通信的内容很多,这里用到的只涉及标准数据帧,控制器发送的报文格式:发送的控制信号只有一个信息,电流 current高八位低八位的解释:一个字节是8位二进制,汇编中,为了表示一个整数类型,用两个字节来表示,即总共16位。20是0000 0000 0001 0...原创 2020-04-05 22:12:26 · 4316 阅读 · 1 评论