头像-8397

灵澈

  • 湖南省长沙市
  • 嵌入式
  • 消费电子

个人成就

获得 112 次赞

帮助过149人

求助,没法连接开发板

帮会员  浮沤提问,请大家帮助一下他,谢谢从拿到板开始,很高兴地焊接好电路。 很期待可以给我来不一样的期待,可是在我n次尝试连接开发板没果,给我的只是满满的失落感。 什么BOOT0接高电平,BOOT1接低电平,然而这对我手上的这块板,并没有什么作用。 下面我展示出我的图,会的人请帮忙指点一下,十分感谢。1.TP3测试孔接VDD,TP5测试孔接GND。2.接通电路,按下开发板上的复位键。   可见彩色跑马灯不亮了,本以为接近成功了,可是现实很残酷。3.串口驱动正常。 4.可是死活连接不上,检测不到设备 正常通电时,彩色跑马灯等正常亮。我已在多台电脑上测试了,直接用电脑串口连接也测试过,可是一样是连不上。   我拿去给老师看,老师测试了,说很有可能是板子电路的问题。接法没有错误, BOOT0接高电平,BOOT1接低电平。 会的高手,用过这种板的高手,请指教一下,十分感谢了。

Raspberry Pi3 ModelB 安装问题

帮助会员在发一个问题,以下是会员的描述:已经入手一段时间了,菜鸟在百度上搜索下载系统镜像,...用win32_disk_imager写入,最后出错unable to mount root fs on unknownblock(179,2)树莓派驱动过程中,内核报错:KERNEL PANIC: VFS Unable to mount root fs on unknown-block(179,2)原因是sd卡中的内容被不小心修改,主要是mmcblk0p2分区,将系统sd卡取下,插入到ubuntu中,执行:sudo fsck -f -v -r /dev/sdb2即可修复。重启,一切正常以上百度后,看到的结果,ubuntu我没有用过,还有其它的方法吗?请指导一下,谢谢

stc官方函数库的定时器的一些疑问

最近想写点关于stc函数的东西,今天看了一下定时器的函数库,感觉这个函数有点问题呢! 我先把代码贴出来 定时器头文件/*------------------------------------------------------------------*/ /* --- STC MCU International Limited -------------------------------*/ /* --- STC 1T Series MCU RC Demo -----------------------------------*/ /* --- Mobile: (86)13922805190 -------------------------------------*/ /* --- Fax: 86-0513-55012956,55012947,55012969 ---------------------*/ /* --- Tel: 86-0513-55012928,55012929,55012966 ---------------------*/ /* --- Web: www.GXWMCU.com -----------------------------------------*/ /* --- QQ:  800003751 ----------------------------------------------*/ /* If you want to use the program or the program referenced in the  */ /* article, please specify in which data and procedures from STC    */ /*------------------------------------------------------------------*/ #ifndef        __TIMER_H #define        __TIMER_H #include        "config.h" #define        Timer0                                                0 #define        Timer1                                                1 #define        Timer2                                                2 #define        Timer3                                                3 #define        Timer4                                                4 #define        TIM_16BitAutoReload                        0 #define        TIM_16Bit                                        1 #define        TIM_8BitAutoReload                        2 #define        TIM_16BitAutoReloadNoMask        3 #define        TIM_CLOCK_1T                                0 #define        TIM_CLOCK_12T                                1 #define        TIM_CLOCK_Ext                                2 typedef struct {         u8        TIM_Mode;                //工作模式,          TIM_16BitAutoReload,TIM_16Bit,TIM_8BitAutoReload,TIM_16BitAutoReloadNoMask         u8        TIM_Polity;                //优先级设置        PolityHigh,PolityLow         u8        TIM_Interrupt;        //中断允许                ENABLE,DISABLE         u8        TIM_ClkSource;        //时钟源                TIM_CLOCK_1T,TIM_CLOCK_12T,TIM_CLOCK_Ext         u8        TIM_ClkOut;                //可编程时钟输出,        ENABLE,DISABLE         u16        TIM_Value;                //装载初值         u8        TIM_Run;                //是否运行                ENABLE,DISABLE } TIM_InitTypeDef; u8        Timer_Inilize(u8 TIM, TIM_InitTypeDef *TIMx); #endif下边是官方的c文件/* --- STC MCU International Limited -------------------------------*/ /* --- STC 1T Series MCU RC Demo -----------------------------------*/ /* --- Mobile: (86)13922805190 -------------------------------------*/ /* --- Fax: 86-0513-55012956,55012947,55012969 ---------------------*/ /* --- Tel: 86-0513-55012928,55012929,55012966 ---------------------*/ /* --- Web: www.GXWMCU.com -----------------------------------------*/ /* --- QQ:  800003751 ----------------------------------------------*/ /* If you want to use the program or the program referenced in the  */ /* article, please specify in which data and procedures from STC    */ /*------------------------------------------------------------------*/ /*************        功能说明        ************** 本文件为STC15xxx系列的定时器初始化和中断程序,用户可以在这个文件中修改自己需要的中断程序. ******************************************/ #include        "timer.h" /********************* Timer0中断函数************************/ void timer0_int (void) interrupt TIMER0_VECTOR {    P25 = ~P25; } /********************* Timer1中断函数************************/ void timer1_int (void) interrupt TIMER1_VECTOR {    P26 = ~P26; } /********************* Timer2中断函数************************/ void timer2_int (void) interrupt TIMER2_VECTOR {         P10 = ~P10; } //======================================================================== // 函数: u8        Timer_Inilize(u8 TIM, TIM_InitTypeDef *TIMx) // 描述: 定时器初始化程序. // 参数: TIMx: 结构参数,请参考timer.h里的定义. // 返回: 成功返回0, 空操作返回1,错误返回2. // 版本: V1.0, 2012-10-22 //======================================================================== u8        Timer_Inilize(u8 TIM, TIM_InitTypeDef *TIMx) {         if(TIM > Timer2)        return 1;        //空操作         if(TIM == Timer0)         {                 TR0 = 0;                //停止计数                 if(TIMx->TIM_Interrupt == ENABLE)                ET0 = 1;        //允许中断                 else                                                                        ET0 = 0;        //禁止中断                 if(TIMx->TIM_Polity == PolityHigh)                PT0 = 1;        //高优先级中断                 else                                                                        PT0 = 0;        //低优先级中断                 if(TIMx->TIM_Mode >  TIM_16BitAutoReloadNoMask)        return 2;        //错误                 TMOD = (TMOD & ~0x03) | TIMx->TIM_Mode;        //工作模式,0: 16位自动重装, 1: 16位定时/计数, 2: 8位自动重装, 3: 16位自动重装, 不可屏蔽中断                 if(TIMx->TIM_ClkSource == TIM_CLOCK_12T)        AUXR &= ~0x80;        //12T                 if(TIMx->TIM_ClkSource == TIM_CLOCK_1T)                AUXR |=  0x80;        //1T                 if(TIMx->TIM_ClkSource == TIM_CLOCK_Ext)        TMOD |=  0x04;        //对外计数或分频                 else                                                                                TMOD &= ~0x04;        //定时                 if(TIMx->TIM_ClkOut == ENABLE)        INT_CLKO |=  0x01;        //输出时钟                 else                                                        INT_CLKO &= ~0x01;        //不输出时钟                                 TH0 = (u8)(TIMx->TIM_Value >> 8);                 TL0 = (u8)TIMx->TIM_Value;                 if(TIMx->TIM_Run == ENABLE)        TR0 = 1;        //开始运行                 return        0;                //成功         }         if(TIM == Timer1)         {                 TR1 = 0;                //停止计数                 if(TIMx->TIM_Interrupt == ENABLE)                ET1 = 1;        //允许中断                 else                                                                        ET1 = 0;        //禁止中断                 if(TIMx->TIM_Polity == PolityHigh)                PT1 = 1;        //高优先级中断                 else                                                                        PT1 = 0;        //低优先级中断                 if(TIMx->TIM_Mode >= TIM_16BitAutoReloadNoMask)        return 2;        //错误                 TMOD = (TMOD & ~0x30) | TIMx->TIM_Mode;        //工作模式,0: 16位自动重装, 1: 16位定时/计数, 2: 8位自动重装                 if(TIMx->TIM_ClkSource == TIM_CLOCK_12T)        AUXR &= ~0x40;        //12T                 if(TIMx->TIM_ClkSource == TIM_CLOCK_1T)                AUXR |=  0x40;        //1T                 if(TIMx->TIM_ClkSource == TIM_CLOCK_Ext)        TMOD |=  0x40;        //对外计数或分频                 else                                                                                TMOD &= ~0x40;        //定时                 if(TIMx->TIM_ClkOut == ENABLE)        INT_CLKO |=  0x02;        //输出时钟                 else                                                        INT_CLKO &= ~0x02;        //不输出时钟                                 TH1 = (u8)(TIMx->TIM_Value >> 8);                 TL1 = (u8)TIMx->TIM_Value;                 if(TIMx->TIM_Run == ENABLE)        TR1 = 1;        //开始运行                 return        0;                //成功         }         if(TIM == Timer2)                //Timer2,固定为16位自动重装, 中断无优先级         {                 AUXR &= ~(1<<4);        //停止计数                 if(TIMx->TIM_Interrupt == ENABLE)                        IE2  |=  (1<<2);        //允许中断                 else                                                                                IE2  &= ~(1<<2);        //禁止中断                 if(TIMx->TIM_ClkSource >  TIM_CLOCK_Ext)        return 2;                 if(TIMx->TIM_ClkSource == TIM_CLOCK_12T)        AUXR &= ~(1<<2);        //12T                 if(TIMx->TIM_ClkSource == TIM_CLOCK_1T)                AUXR |=  (1<<2);        //1T                 if(TIMx->TIM_ClkSource == TIM_CLOCK_Ext)        AUXR |=  (1<<3);        //对外计数或分频                 else                                                                                AUXR &= ~(1<<3);        //定时                 if(TIMx->TIM_ClkOut == ENABLE)        INT_CLKO |=  0x04;        //输出时钟                 else                                                        INT_CLKO &= ~0x04;        //不输出时钟                 TH2 = (u8)(TIMx->TIM_Value >> 8);                 TL2 = (u8)TIMx->TIM_Value;                 if(TIMx->TIM_Run == ENABLE)        AUXR |=  (1<<4);        //开始运行                 return        0;                //成功         }         return 2;        //错误 }在头文件中定时器的定义已经到了timer4,但是在c中却只支持到了timer2,还有在GPIO的c文件配置中判断了参数的数值是否超出了范围,但是在 这个定时器文件中却没有判断,只判断了是不是超出了定时器2,其他的没有判断!也就是说不知道这个函数是不是最后能不能配置成功定时器, 还有就是这个最后的returm 2;这句话,到底存在着什么意义呢?希望有大神能详细的解释一下!

NanoPi NEO Air 如何把编译好的文件上传到文件系

可以通过串口吗,或者可以用什么软件。谢谢各路大神

GPIO 上拉和悬空触发不同的问题

帮会员帮会员  fengfei11发给提问,请大家帮助一下他,谢谢STMS003做个外接中断触发程序,使用PF4脚外接中断触发源。void interrupt_Init(void){    GPIO_Init(GPIOF, pf4, GPIO_MODE_IN_PU_IT);    GPIO_WriteHigh(GPIOF,pf4);      EXTI_SetExtIntSensitivity(EXTI_PORT_GPIOF, EXTI_SENSITIVITY_LOW_ONLY);  }当GPIO_Init函数配置成上拉触发(pull-up触发GPIO_MODE_IN_PU_IT模式)测试时很正常,GPIO_WriteHigh(GPIOF,pf4)能拉高PF4口为高电平,当PF4的引出线触碰到GND后,能够正常下降沿触发一次。测试OK。但将上拉触发换成浮动触发(folating触发GPIO_MODE_IN_FL_IT模式)时,则GPIO_WriteHigh(GPIOF,pf4)不能拉高PF4口为高电平,PF4脚却一直循环触发着中断。请问各位大神有建议否?

mm32的Isp怎么使用,尝试多次无果

以下是帮助会员提问的,大家帮帮他,谢谢如题,用官方提供的isp,连接的多次,都是失败啊,请大神提供详细的烧录方式

手机最近总是弹出这个com android phone?

手机最近总是弹出这个进程“com android phone”已停止运行,怎么破?