数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 8506|回复: 83

[STM] 求助高刷LED,用stm32驱动问题

[复制链接]
发表于 2020-3-18 16:18:26 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x
我买了高刷屏的LED(3840的强力巨彩的P3,128*64,HUB75E标准接口)刷不亮,我现在用的是STM32F1,一点反应都没有,本来STM32F1普通屏的点亮没问题,后来我又用了F4,高刷屏也不亮,这不是屏的问题,因为用接收卡是可以亮的,我是用最简单的如下程序测试的,我查了一下,普通刷是20-30HZ一行,高刷是60-75HZ,要问的是,这个STM32F1的刷新是多少,怎么算出来它不够呢?高刷屏一般不闪屏(就是手机拍照的时候不闪,普通屏闪)
                OE_SET(1);
                disphan=0;
                DispLine(disphan);        
                GPIOB->ODR=0x0001;
                CLK_SET(0);               
                CLK_SET(1);//发送RGB数据
                STB_SET(0);
                STB_SET(1);                //拉闸
                OE_SET(0);
                delay(20);
                continue;        

基本上是寄存器操作,但是就是点不亮,哪位老哥有关于LED刷新计算的,介绍一下有关知识。

还有,我们在扫某一行的时候,应该是把数据处理的时间,要少于行扫的时间,对吧
发表于 2020-3-18 19:50:39 | 显示全部楼层
用SPI口去驱动
回复 支持 反对

使用道具 举报

发表于 2020-3-18 20:56:28 | 显示全部楼层
速度慢了吧?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-18 21:34:17 | 显示全部楼层

SPI驱动行信号吗?IO的翻转速度不够?我用F4也不行,F4的频率比F1快不少,也不行
回复 支持 反对

使用道具 举报

发表于 2020-3-18 22:05:37 来自手机浏览器 | 显示全部楼层
放那个delay干嘛
回复 支持 反对

使用道具 举报

发表于 2020-3-18 23:56:58 | 显示全部楼层
本帖最后由 lidawei1 于 2020-3-19 09:23 编辑

本末倒置了,灯都没亮,谈刷新率有什么用呢?如果驱动正常,刷新慢,只是显示效果不好,不会没显示。
既然一直强调刷新,那就说一说吧,落叶大师的程序,每100us定时中断一次,刷新半行,花费时间69us,一整行需要分2次输出,200us,原程序为了调节亮度,又延时300us才输出下一行,即刷新1整行的时间是500us,因为是32扫的屏,所以扫描一屏就需要32x500us=16ms,即刷新频率为66hz,这种刷新频率在室内拍照一般是不闪的,这从落叶大师发的图片中可以看得出来,显示效果很好,亮度均匀,没有黑线,但如果拿到室外,因为光线较强,手机曝光时间短,66hz的刷新率就会显得慢了,很可能就会有黑线。如果要提高刷新率,一个方法是将原程序中调节亮度的功能去掉,这样显示一屏只需要32x200=6.4ms,帧频可达到156,另一个方法是我在落叶大师的帖子中所说的,优化一下,优化得好的话速度约可提高约8倍,这个速度就算是太阳直照,拍照时也不会出现黑线,不过32扫的室内屏,拿到太阳光底下,基本也看不出字的了。
这些LED单元板,不同厂家对于接口的定义不一定相同,就算是相同厂家,不同批次的产品都可能不同,就比如落叶大师的帖子中有人说的红、蓝色要对调的问题,所以要先确定接口的确切定义。我昨天给的图就是想确定一下RGB、OE信号。下面的程序也可以测一下:

disphan=0;
DispLine(disphan);        
GPIOB->ODR=0x0035;
CLK_SET(0);               
CLK_SET(1);
CLK_SET(0);               
CLK_SET(1);
CLK_SET(0);               
CLK_SET(1);
CLK_SET(0);               
CLK_SET(1);
CLK_SET(0);               
CLK_SET(1);
CLK_SET(0);               
CLK_SET(1);
CLK_SET(0);               
CLK_SET(1);
CLK_SET(0);               
CLK_SET(1);
CLK_SET(0);               
CLK_SET(1);
STB_SET(0);
STB_SET(1);
OE_SET(0);
delay(10000);
CLK_SET(0);               
CLK_SET(1);
CLK_SET(0);               
CLK_SET(1);
CLK_SET(0);               
CLK_SET(1);
CLK_SET(0);               
CLK_SET(1);
CLK_SET(0);               
CLK_SET(1);
CLK_SET(0);               
CLK_SET(1);
CLK_SET(0);               
CLK_SET(1);
CLK_SET(0);               
CLK_SET(1);
CLK_SET(0);               
CLK_SET(1);
STB_SET(0);
STB_SET(1);
OE_SET(1);
delay(10000);

回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-3-19 00:10:26 | 显示全部楼层

好像不对,五个行扫信号ABCDE,用SPI不能同时给这几个信号吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-19 14:17:39 | 显示全部楼层
lidawei1 发表于 2020-3-18 23:56
本末倒置了,灯都没亮,谈刷新率有什么用呢?如果驱动正常,刷新慢,只是显示效果不好,不会没显示。
既然 ...

这个分析得很好,拜读了,找时间再试,接口方面板上也标出来了,我只看板上的标注,所以没有怀疑,我对调一个看看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-20 15:19:54 | 显示全部楼层
汇报一下,我手上有两块128*64的,接口标示一样,牌子不同,估计一块是普通屏吧,这个屏的驱动没问题,能正常使用,结果,换另一块板,同样是128*64,这次能显示了,可是不正常,只有相隔几列显示,不规则,并且不是按程序来显示颜色,试着各个接头拨了再插上,反应非常小,我就奇怪,拨掉OE,重启板,还是能显示,这可麻烦了,要测问题出在哪,接线不少,没有示波器,很难搞。
我不知道是不是测试线的问题,线长50CM,应该是24WAG的,比连接屏的扁线要粗,应该不是这个问题,有短线的时候再试

另外,上面lidawei1谈到的刷新率,我手机拍,多多少少会闪,DELAY调小也一样,大了就不必说肯定闪,我没有用定时器测试,就是简单的WHILE,不知道是我的手机刷新率高还是怎么回事?
回复 支持 反对

使用道具 举报

发表于 2020-3-20 17:01:49 | 显示全部楼层
13580445117 发表于 2020-3-20 15:19
汇报一下,我手上有两块128*64的,接口标示一样,牌子不同,估计一块是普通屏吧,这个屏的驱动没问题,能正 ...

能显示就好办了,显示正常的屏是说显示字符正常吗?是的话把显示部分的程序贴出来看看,按理一直while,不做其他事的话刷新率会很高的,不可能会闪。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-20 20:12:16 | 显示全部楼层
//行扫描               
void DispLine(u8 linenumber)
{
                AIN_SET(linenumber&0x01);
                BIN_SET(linenumber&0x02);
                CIN_SET(linenumber&0x04);
                DIN_SET(linenumber&0x08);
                EIN_SET(linenumber&0x10);
}
main()
{



        iii=0;jjj=0,kkk=0;       
  while (1)
  {
                OE_SET(1);
//七色测屏                       
                if(iii%5000==0)
                {
                        if(jjj<6) jjj+=1;
                        else jjj=0;
                }
               

                for(disphan=0;disphan<32;disphan++)
                {       
                        OE_SET(1);
                       
                        DispLine(disphan);               
               
                        for(kkk=0;kkk<128;kkk++)
                        {

                                GPIOB->ODR=colorebase[jjj];
                                CLK_SET(0);               
                                CLK_SET(1);//发送RGB数据

                        }
                       
               
                        STB_SET(0);
                        STB_SET(1);                //开闸

                       
                        OE_SET(0);

                        delay(50);
                }
                       
                iii++;       
  }

}

7f974882ad35ff4e79d739182bbfd58.jpg
980bb62bab865ce2480bec875a47b2e.jpg
1093da0a65b3c856cfa1c1390aa5aff.jpg
2695eebb769165add2cf11f233be4d3.jpg
回复 支持 反对

使用道具 举报

发表于 2020-3-21 11:10:41 | 显示全部楼层
本帖最后由 lidawei1 于 2020-3-21 14:27 编辑

下面是从落叶大师的程序中提取出来的,用于测试及显示刷新次数,拷贝后覆盖原main.c文件,运行正常的话,会在屏的第1行显示刷新的次数,每个数字一个颜色,10或20秒后看这个数字是多少,除以秒数就是刷新率了,一般每秒可刷新约200次。
如果显示正常,那屏的接口这部分就没问题了,可以按照落叶大师原贴子的指引制作时钟了。
main.c:
/**
  ******************************************************************************
  * @file    Project/STM32F10x_StdPeriph_Template/main.c
  * @author  MCD Application Team
  * @version V3.5.0
  * @date    08-April-2011
  * @brief   Main program body
  ******************************************************************************
  * @attention
  *
  * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
  * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
  * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
  * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
  * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
  * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
  *
  * <h2><center>&copy; COPYRIGHT 2011 STMicroelectronics</center></h2>
  ******************************************************************************
  */  

/* Includes ------------------------------------------------------------------*/
#include "stm32f10x.h"
#include <stdio.h>


#define AIN  (1<<0X05)// PC5  
#define AIN_SET(x) GPIOC->ODR=(GPIOC->ODR&~AIN)|(x ? AIN:0)
#define BIN  (1<<0X07)// PC7
#define BIN_SET(x) GPIOC->ODR=(GPIOC->ODR&~BIN)|(x ? BIN:0)
#define CIN  (1<<0X04)// PC4
#define CIN_SET(x) GPIOC->ODR=(GPIOC->ODR&~CIN)|(x ? CIN:0)
#define DIN  (1<<0X08)// PC8
#define DIN_SET(x) GPIOC->ODR=(GPIOC->ODR&~DIN)|(x ? DIN:0)
#define EIN  (1<<0X06)// PC6  
#define EIN_SET(x) GPIOC->ODR=(GPIOC->ODR&~EIN)|(x ? EIN:0)
#define CLK  (1<<0X07)// PA7  
#define CLK_SET(x) GPIOA->ODR=(GPIOA->ODR&~CLK)|(x ? CLK:0)
#define STB  (1<<0X09)// PC9
#define STB_SET(x) GPIOC->ODR=(GPIOC->ODR&~STB)|(x ? STB:0)
//#define OE  (1<<0X06)// PA6  
//#define OE_SET(x) GPIOA->ODR=(GPIOA->ODR&~OE)|(x ? OE:0)
#define OE  (1<<0X0a)// PC10  
#define OE_SET(x) GPIOC->ODR=(GPIOC->ODR&~OE)|(x ? OE:0)


static unsigned char const DISPdat16x8[]=
{
0x00,0x00,0x07,0xF0,0x08,0x08,0x10,0x04,0x10,0x04,0x08,0x08,0x07,0xF0,0x00,0x00,//"0",0
0x00,0x00,0x08,0x04,0x08,0x04,0x1F,0xFC,0x00,0x04,0x00,0x04,0x00,0x00,0x00,0x00,//"1",1
0x00,0x00,0x0E,0x0C,0x10,0x14,0x10,0x24,0x10,0x44,0x11,0x84,0x0E,0x0C,0x00,0x00,//"2",2
0x00,0x00,0x0C,0x18,0x10,0x04,0x11,0x04,0x11,0x04,0x12,0x88,0x0C,0x70,0x00,0x00,//"3",3
0x00,0x00,0x00,0xE0,0x03,0x20,0x04,0x24,0x08,0x24,0x1F,0xFC,0x00,0x24,0x00,0x00,//"4",4
0x00,0x00,0x1F,0x98,0x10,0x84,0x11,0x04,0x11,0x04,0x10,0x88,0x10,0x70,0x00,0x00,//"5",5
0x00,0x00,0x07,0xF0,0x08,0x88,0x11,0x04,0x11,0x04,0x18,0x88,0x00,0x70,0x00,0x00,//"6",6
0x00,0x00,0x1C,0x00,0x10,0x00,0x10,0xFC,0x13,0x00,0x1C,0x00,0x10,0x00,0x00,0x00,//"7",7
0x00,0x00,0x0E,0x38,0x11,0x44,0x10,0x84,0x10,0x84,0x11,0x44,0x0E,0x38,0x00,0x00,//"8",8
0x00,0x00,0x07,0x00,0x08,0x8C,0x10,0x44,0x10,0x44,0x08,0x88,0x07,0xF0,0x00,0x00,//"9",9
0x00,0x00,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//".",10
0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x0C,0x03,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,//":",11
0x00,0x00,0x02,0x70,0x00,0x88,0x01,0x04,0x01,0x04,0x01,0x04,0x00,0x88,0x00,0x00,//"c",12
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//空  13
0x00,0x04,0x00,0x3C,0x03,0xC4,0x1C,0x40,0x07,0x40,0x00,0xE4,0x00,0x1C,0x00,0x04,//"A",14
0x10,0x00,0x1E,0x00,0x11,0xE0,0x00,0x1C,0x00,0x70,0x13,0x80,0x1C,0x00,0x10,0x00,//"V",15
0x1F,0xC0,0x10,0x3C,0x00,0xE0,0x1F,0x00,0x00,0xE0,0x10,0x3C,0x1F,0xC0,0x00,0x00,//"W",16
0x00,0x00,0x0E,0x1C,0x11,0x04,0x10,0x84,0x10,0x84,0x10,0x44,0x1C,0x38,0x00,0x00,//"S",17
0x10,0x04,0x1F,0xFC,0x11,0x04,0x11,0x04,0x17,0xC4,0x10,0x04,0x08,0x18,0x00,0x00,//"E",18
0x18,0x00,0x10,0x00,0x10,0x04,0x1F,0xFC,0x10,0x04,0x10,0x00,0x18,0x00,0x00,0x00,//"T",19
0x00,0x00,0x10,0x04,0x10,0x04,0x1F,0xFC,0x10,0x04,0x10,0x04,0x00,0x00,0x00,0x00,//"I",20
0x10,0x04,0x1F,0xFC,0x0C,0x04,0x03,0x00,0x00,0xE0,0x10,0x18,0x1F,0xFC,0x10,0x00,//"N",21
0x03,0xE0,0x0C,0x18,0x10,0x04,0x10,0x04,0x10,0x04,0x10,0x08,0x1C,0x10,0x00,0x00,//"C",22
0x10,0x04,0x1F,0xFC,0x10,0x84,0x10,0x80,0x10,0x80,0x10,0x80,0x0F,0x00,0x00,0x00,//"P",23
0x10,0x04,0x1F,0xFC,0x10,0x84,0x00,0x80,0x00,0x80,0x10,0x84,0x1F,0xFC,0x10,0x04,//"H",24
0x00,0x00,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,//"-",25
};


u8 disphan;

u8 dispram[4096];//外部引用显示内存,在LEDdisp子程序内


void disp_()
{//0.14ms  改为分两段显示,每段69us
        u8 kk,temp1;
        //TEXTOUT_SET(1);
       
//        if(duanvol==0)
        {//扫开始64列
//                OE_SET(1);//如不进行这步,有暗光
                                                                //不能关,否则会损失亮度,有暗光是由于切换行线时机不对引起的
                for(kk=0;kk<64;kk++)
          {
                GPIO_Write(GPIOB, dispram[kk+disphan*128]);
                CLK_SET(0);
                CLK_SET(1);
          }
               
        }
//        if(duanvol==1)
        {//扫后64列
                for(kk=0;kk<64;kk++)
          {
                GPIO_Write(GPIOB, dispram[kk+64+disphan*128]);
                CLK_SET(0);
                CLK_SET(1);
          }
               
                OE_SET(1);
                STB_SET(0);
                STB_SET(1);
               
                temp1=disphan&0x01;
                AIN_SET(temp1);
                temp1=disphan&0x02;
                BIN_SET(temp1);
                temp1=disphan&0x04;
                CIN_SET(temp1);
                temp1=disphan&0x08;
                DIN_SET(temp1);
                temp1=disphan&0x10;
                EIN_SET(temp1);
               
               
                OE_SET(0);//显示
                disphan++;
                if(disphan==32)disphan=0;
        }

}

void LEDClear(void)
{
        u16 i;
        for(i=0;i<4096;i++)
        {
                dispram=0;
        }
       
}

void LEDdisp16x8_2(u16 x,u16 y,u16 kaici,u8 dcolor,u8 bgcolor)
{//逐行式,顺向高位在前,注意颜色不能超过8,没做对错判断,不能输错。
        u16 i,j,k,l;   
        for(j=0;j<8;j++)
        {
                k=DISPdat16x8[j*2+kaici*16];
                if((j+x)<128)
                {
                        for(i=0;i<8;i++)
                        {        
                                if((k&(1<<(7-i)))!=0)
                                {
                                        if((i+y)<32)
                                        {
                                                l=dispram[(i+y)*128+j+x]&0xf0;
                                                dispram[(i+y)*128+j+x]=l+dcolor;
                                        }
                                        else
                                        {
                                                l=dispram[(i+y-32)*128+j+x] & 0x0f;
                                                dispram[(i+y-32)*128+j+x]=l+(dcolor<<4);
                                        }       
                                }
                                else
                                {
                                        if((i+y)<32)
                                        {
                                                l=dispram[(i+y)*128+j+x]&0xf0;
                                                dispram[(i+y)*128+j+x]=l+bgcolor;
                                        }
                                        else
                                        {
                                                 l=dispram[(i+y-32)*128+j+x] & 0x0f;
                                                dispram[(i+y-32)*128+j+x]=l+(bgcolor<<4);
                                        }       
                                }                               
                        }
                }
                k=DISPdat16x8[j*2+1+kaici*16];
                if((j+x)<128)
                {
                        for(i=0;i<8;i++)
                        {        
                                if((k&(1<<(7-i)))!=0)
                                {
                                        if((i+y+8)<32)
                                        {
                                                l=dispram[(i+y+8)*128+j+x]&0xf0;
                                                dispram[(i+y+8)*128+j+x]=l+dcolor;
                                        }
                                        else
                                        {
                                                l=dispram[(i+y-24)*128+j+x] & 0x0f;
                                                dispram[(i+y-24)*128+j+x]=l+(dcolor<<4);
                                        }       
                                }
                                else
                                {
                                        if((i+y+8)<32)
                                        {
                                                l=dispram[(i+y+8)*128+j+x]&0xf0;
                                                dispram[(i+y+8)*128+j+x]=l+bgcolor;
                                        }
                                        else
                                        {
                                                l=dispram[(i+y-24)*128+j+x] & 0x0f;
                                                dispram[(i+y-24)*128+j+x]=l+(bgcolor<<4);
                                        }       
                                }                               
                        }
                }
        }
}



void LED_GPIO_Config(void)
{
        GPIO_InitTypeDef GPIO_InitStructure;
        RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD | RCC_APB2Periph_AFIO, ENABLE);

        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;        
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;      
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(GPIOB, &GPIO_InitStructure);
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_6 | GPIO_Pin_15 | GPIO_Pin_7;        
        GPIO_Init(GPIOA, &GPIO_InitStructure);
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2 | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10;        
        GPIO_Init(GPIOC, &GPIO_InitStructure);

        GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);//关闭JTAG,由于PA15、PB3、PB4脚默认是JTAG功能脚,所以需关闭才能用,同时需要先开启AFIO时钟才行

}

int main(void)
{
        int num=1;
        disphan=0;

        LED_GPIO_Config();
        LEDClear();

        while (1)
        {
                int n;
                n=num%1000000;
                LEDdisp16x8_2(0,0,n/100000,1,0);
                n%=100000;
                LEDdisp16x8_2(8,0,n/10000,2,0);
                n%=10000;
                LEDdisp16x8_2(16,0,n/1000,4,0);
                n%=1000;
                LEDdisp16x8_2(24,0,n/100,3,0);
                n%=100;
                LEDdisp16x8_2(32,0,n/10,5,0);
                n%=10;
                LEDdisp16x8_2(40,0,n,6,0);

                LEDdisp16x8_2(56,0,14,7,0);
               
                for(int i=0;i<32;i++)
                        disp_();
               
                OE_SET(1);

               
                num++;
        }
}



回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-21 13:57:23 | 显示全部楼层
我三种屏(都是128*64),普通屏,中刷屏(说是1920,也不知道他们是怎么算的),高刷屏(3840),昨天测的是普通屏,中刷屏,高刷屏是一点反应都没有,今天用你给的这个试了,一样的,所以,目前还真的不知道是什么原因,要说是频率吧,你分析的都达到上百了,也没动,目前测到的是普通屏可以,中刷屏就几列,高刷的一点反应都没有,这些屏用屏带的控制卡可以正常亮
70e905968d070945cb81c22df93b1f6.jpg
b1394fa2f2ca05c0748b805babad4f1.jpg
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-21 14:01:35 | 显示全部楼层
不知道是不是驱动电流不够大,中高刷屏也看不清有没有在板上进行电流放大
回复 支持 反对

使用道具 举报

发表于 2020-3-21 15:03:12 | 显示全部楼层
看clk线、stb线驱动电压够不够。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-21 19:00:10 | 显示全部楼层
ck=2.7v oe=3.0v  lat=3.3
回复 支持 反对

使用道具 举报

发表于 2020-3-21 21:03:38 | 显示全部楼层
2.7v就太低了。屏和板好像是用杜邦线接的吧?最好用排线,或者找几根好些的杜邦线再试一下,实在不行找一片74hc245驱动一下。
回复 支持 反对

使用道具 举报

发表于 2020-3-22 09:28:04 来自手机浏览器 | 显示全部楼层
lidawei1 发表于 2020-3-21 21:03
2.7v就太低了。屏和板好像是用杜邦线接的吧?最好用排线,或者找几根好些的杜邦线再试一下,实在不行找一片 ...

如果是动态测的,那这三个电压都是正常的,最高都有3.3v
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-22 14:25:18 | 显示全部楼层
lidawei1 发表于 2020-3-22 09:28
如果是动态测的,那这三个电压都是正常的,最高都有3.3v

是动态测的,STM32引脚和接杜邦线末端都测,一样
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-22 14:31:24 | 显示全部楼层
测错,LAT电压超低,再测试
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 微信登录

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-6-23 01:51 , Processed in 0.218400 second(s), 14 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

快速回复 返回顶部 返回列表