xbxdbd

  • 2024-12-20
  • 回复了主题帖: SDK怎么操作

    freebsder 发表于 2024-12-20 16:55 意思就是你把你的协议封装成SDK,给到对方,对方不知道你的协议,由你负责封装。 打个比方,你要通过网 ... 如何封装成SDK,意思我理解,但是KEIL是直接用lib库就可以了吗?

  • 发表了主题帖: SDK怎么操作

    就是使用KEIL编写STM32程序,内容主要是串口控制光源亮灭,之前我们是通过编写串口协议说明书来发给别人,别人能够开发使用,就是做一个上位机;今天有人咨询可否发一个SDK,我有点懵,KEIL生成的LIB文件,就是静态库,这个LIB不是只能在keil中才能打开?我想问的是KEIL编写的串口函数,除了写一个说明书之外,有什么可以让别人不知道我的主程序,只知道协议方便他人做上位机控制的,

  • 2024-10-23
  • 回复了主题帖: 关于串口接收中断函数有一个bug是什么原因导致?

    Jacktang 发表于 2024-10-23 07:27 确定是串口接收中断函数有一个bug么   ?我的串口中断函数写的有问题?因为我测试基本的这个3个功能都能实现,就是会出现如果末尾添加多个字节,会被执行,并且会收到error1

  • 2024-10-22
  • 发表了主题帖: 关于串口接收中断函数有一个bug是什么原因导致?

    本帖最后由 xbxdbd 于 2024-10-22 17:03 编辑 void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) { uint8_t ucTemp; if(huart ->Instance == USART1) { ucTemp = aRxBuffer; Uart1_RxBuff[Uart1_Rx_Cnt++] = ucTemp; if(Uart1_RxBuff[0]!=0xa3 ) { Uart1_Rx_Cnt=0; memset(Uart1_RxBuff, 0, sizeof(Uart1_RxBuff)); // 清空接收缓冲区 // 如果数据格式错误或数据测试失败,发送“ERROR” char error[] = "ERROR1\r\n"; HAL_UART_Transmit(&huart1, (uint8_t*)error, strlen(error), 1000); // globalError =1; // HAL_UART_Receive_IT(&huart1, &aRxBuffer, 1); // return; } // 检查是否是脉冲数指令 if (Uart1_Rx_Cnt == 4&& Uart1_RxBuff[0] == 0xA3&&Uart1_RxBuff[1] == 0x5a) { if (data_test1(Uart1_RxBuff) ) { targetPulses = ((int16_t)Uart1_RxBuff[2] << 8) | (int16_t)Uart1_RxBuff[3]; } else { targetPulses=0; // 如果数据格式错误或数据测试失败,发送“ERROR” char error[] = "ERROR4\r\n"; HAL_UART_Transmit(&huart1, (uint8_t*)error, strlen(error), 1000); memset(Uart1_RxBuff, 0, sizeof(Uart1_RxBuff)); Uart1_Rx_Cnt = 0; // 在发送完ERROR后,检查接收缓冲区是否已清空,如果清空则重新启动接收中断 HAL_UART_Receive_IT(&huart1, &aRxBuffer, 1);//重新接受 } Uart1_Rx_Cnt = 0; } HAL_UART_Receive_IT(&huart1,&aRxBuffer,1); } } 串口基本上指令都能完成 假如我发送A3 5A 4C 59 C3,不管我在59后面添加多少个字节,都是收到error1的错误指令,电机还能转动;我看Uart1_RxBuff【0】是C3;targetPulses是4c59;所以这种BUG我应该怎么避免,软件上逻辑哪里还需要添加或者修改的呢

  • 2024-10-17
  • 发表了主题帖: 上电顺序导致电机不可控?

    电路板如果先接串口再接电源,电机不复位,就是回到限位开关的零点位置上,且控不上,发指令电机转动不起来,但是如果先接电源,再接串口电机就没事,能复位且控的上。如果使用按键复位,是可以的,但是硬件电路板我都是封死的,还有别的什么办法可以解决的吗?我希望不要受到顺序影响

  • 2024-09-30
  • 发表了主题帖: 限位触发电机停止,再发指令让他反转离开限位,电机没有任何反应,请问为啥?

    tmc5240驱动控制电机,限位我直接接在他引脚内部,它会自动停止相关电机的动作,整个功能就是串口助手发送指令,让电机正反转,碰到限位,电机停止,这个点相当于起始点,,然后我发送01指令,电机反转,到目标位置;现在遇到的问题就是我发送正转指令碰到了左限位,电机停止,然后我发送反转指令,让电机离开限位,电机不动,若我手动的吧阻碍限位的东西移开,电机就能转了,我以为这个可能是被锁住的原因,我写了一个清除函数,但是也不行,所以不知道问题出在哪里?因为我是第一次上手电机部分    

  • 2024-09-12
  • 回复了主题帖: 串口助手发送PWM光源指令,光源显示很奇怪?

    yangjiaxu 发表于 2024-9-11 12:03 PWM控制器的占空比设置可能存在问题,导致在某些亮度值时占空比没有变化;或者控制软件的逻辑可能存在问题 ... 整个接受串口逻辑只有这个,然后光源处理逻辑就是PWM_light:   __HAL_TIM_SetCompare(&htim2,TIM_CHANNEL_1, pwm);

  • 2024-09-10
  • 发表了主题帖: 串口助手发送PWM光源指令,光源显示很奇怪?

    我用串口助手发送指令电亮PWM光源,频率20Khz,发送指令亮度从0-6是由变化的,从7开始一直到亮度99亮度一直是一个样,然后发送100的亮度,亮度反而变低了,请问这个是什么原因? void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) { uint8_t ucTemp; if(huart ->Instance == USART1) { ucTemp = aRxBuffer; Uart1_RxBuff[Uart1_Rx_Cnt++] = ucTemp; if(Uart1_RxBuff[0]!=0xa3) Uart1_Rx_Cnt=0; if((Uart1_Rx_Cnt==2) && (Uart1_RxBuff[1]!=0xb3)) Uart1_Rx_Cnt=0; if(Uart1_Rx_Cnt==8) { if(data_test(Uart1_RxBuff)) { /******************** ¸üDÂêy¾Y *********************/ turn = Uart1_RxBuff[2]; pwm = Uart1_RxBuff[3]; if(turn == 0) { pwm_light(0); } else if(turn == 1) { pwm_light( pwm); } } Uart1_Rx_Cnt = 0; } HAL_UART_Receive_IT(&huart1,&aRxBuffer,1); } } void pwm_light(uint8_t pwm) { __HAL_TIM_SetCompare(&htim2,TIM_CHANNEL_1, pwm); }  

  • 2024-09-03
  • 发表了主题帖: 关于风扇降温降速延迟的问题?

    入门理解阶段,设计风扇转速的问题,当温度降温到一定值时,转速不要立马就变化,延迟5分钟再降低转速,出现的问题是,HAL_GetTick()和delay_start_time是一样的值,i一直都是791,导致降温转速一直卡在延迟的转速当中,请问问题出在哪里?

  • 2024-08-15
  • 回复了主题帖: LM3409通电测试LED灯珠不亮?

    已解决了 谢谢

  • 2024-08-14
  • 发表了主题帖: LM3409通电测试LED灯珠不亮?

    根据数据手册和别人设计的电路板设计LM3409驱动电路,结果测试灯珠不亮,有输入电压12v,没有输出电压,测量6角电压是12v,1角的电压是1.5v

  • 2024-08-05
  • 回复了主题帖: LED驱动芯片为啥一通电灯就会闪一下呢?

    beyond_笑谈 发表于 2024-8-2 11:41 VIN跟EN中间串联电阻R,EN对地接电容C。上电瞬间VIN通过电阻R对C充电,充电时间也就是LM3409的使能启动时 ... 上电瞬间抓到的EN引脚的波形,然后测试过将EN的下拉电阻改为1K, 10k,还是有灯闪,然后也将输入端再焊接一个10uF,测试还是不行,然后测试再EN端接RC延时电路 ,也不行,求助请问我应该怎么解决?

  • 回复了主题帖: LED驱动芯片为啥一通电灯就会闪一下呢?

    damiaa 发表于 2024-8-5 12:08 可能测不到。试下28楼的办法看看。 我重新示波器测试一下PWM的波形,一上电有一个电平触发

  • 回复了主题帖: LED驱动芯片为啥一通电灯就会闪一下呢?

    damiaa 发表于 2024-8-5 11:08 主要看电平是高是低。 低  

  • 回复了主题帖: LED驱动芯片为啥一通电灯就会闪一下呢?

    beyond_笑谈 发表于 2024-8-2 16:54 使用多个通道,同时抓一下上电时的波形,发上来大家看看。 CH1: VIN CH2: PA111 (MCU PWM) CH3: ... PWM波形是一条直线  

  • 回复了主题帖: LED驱动芯片为啥一通电灯就会闪一下呢?

    damiaa 发表于 2024-8-5 08:48 把PA111和芯片u5之间断开  u5的en用个按键使能 看会不会闪,如果不闪 那就是PA111引起的,如果闪那从u ... 我之前测试过  将EN端不接MCU的PWM引脚, 直接接一个电位器,模拟调光,通上电是不会闪一下的

  • 回复了主题帖: LED驱动芯片为啥一通电灯就会闪一下呢?

    damiaa 发表于 2024-8-2 12:19 搞个类似反向的器电路加到PA11(你的好像是标的PA111)和en之间  比如npn的三极管PA11为高的时 ... 我的PA111接的是反相器,因为一上电就闪,所以我利用一个反相器来致使一上电就闪的情况,但是目前我加了反相器还是会一上电就闪,然后我也尝试在驱动器的EN引脚这里改成RC延时的,但是也是不可以的,还是一上电就闪

  • 2024-08-02
  • 回复了主题帖: LED驱动芯片为啥一通电灯就会闪一下呢?

    xbxdbd 发表于 2024-8-2 11:42 目前程序上设计的PWM上电默认的电平为高电平,就是我求助那里发的图片当中,设计的是  sConfigOC.Pu ... 我刚刚尝试一下RC电路,但是一通电还是会闪,很奇怪 一模一样的电路,LED驱动模块单独供电,EN端接了电位器,我一通电,并没有闪的情况;但是我接到MCU,pwm调光,就会出现这种情况

  • 回复了主题帖: LED驱动芯片为啥一通电灯就会闪一下呢?

    beyond_笑谈 发表于 2024-8-2 11:33 单片机引脚上电时的默认电平是高还是低?这种在硬件上增加上/下拉,用于单片机程序初始化完成之前的电平保 ... 目前程序上设计的PWM上电默认的电平为高电平,就是我求助那里发的图片当中,设计的是  sConfigOC.Pulse = 0;   sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; 并且我在EN引脚那边设计了一个1M的下拉电阻,然后测试将Pulse和OCPolarity这两个值改为0,LOW ;0,HIGH;100,LOW;100,HIGH;这4个情况 出现的都是一样的,一通电灯就会闪一下,然后就恢复正常了

  • 回复了主题帖: LED驱动芯片为啥一通电灯就会闪一下呢?

    damiaa 发表于 2024-8-2 11:01 LM3409好像有个en腿。 可以在上电时让en无效,上电稳定后让en有效。初始化后再用。看看如何? 请问怎么操作?  

最近访客

< 1/2 >

统计信息

已有13人来访过

  • 芯积分:429
  • 好友:1
  • 主题:54
  • 回复:142

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言