头像-17991

芯知识学堂SingleYork 今天的付出,是为了明天更好的享受! http://www.ickey.cc/group-show-id-6.html关注有惊喜!

  • 广东省深圳市
  • 专科
  • 单片机、嵌入式、EDA/PCB、RF/无线、电源技术、测试测量LED/显示、传感器/MEMS
  • 消费电子、汽车电子、医疗电子、工控电子、设计、测试仪器及设备、其它

个人成就

获得 349 次赞

帮助过549人

猫头鹰开发板ST-LINK V2下载时必须按一下复位按钮!

猫头鹰开发板在用ST-LINK V2下载程序的时候(上电后第一次下载才会出这个问题,第一次下载成功后便可以连续下载),在KEIL里面点了LOAD按钮后,必须要按一下板子上的复位按钮才能下载成功,否则下载失败,之前也有反应过问题,但是一直没找到问题,而且貌似别人也没遇到这样的问题,我用ST-LINK V2在麒麟座、原子战舰上都能正常下载,但是就是在猫头鹰上下载时候遇到这样的问题,这是为什么呢?

关于电厂配电房无线通信方式的问题!

如下图所示,是一个电厂的配电房,柜子里面全是高压电器,像接触器、断路器之类的,我现在要做个小设备自动去开门,要用无线远程控制,用什么方式好呢?主要是考虑抗干扰问题,目前知道的有WIFI、蓝牙、射频、GPS之类的,就是不知道在这种环境下会不会有干扰,另外顺便问下,找图中红色圆孔用什么方式好呢?因为需要做个类似机器人之类的东西去找到这个孔,跟钥匙孔差不多吧,后面的动作就不说了,最主要是要找到这个孔。

OLED标准ASCII字符串显示函数重定义的问题

如下图所示,是一组显示6*8一组标准ASCII字符串 显示的坐标(x,y),y为页范围0~7的代码void OLED_P6x8Str(unsigned char x, y,unsigned char ch[]){ unsigned char c=0,i=0,j=0; while (ch[j]!='\0') { c =ch[j]-32; if(x>126){x=0;y++;} OLED_Set_Pos(x,y); for(i=0;i<6;i++) OLED_WrDat(F6x8[c][i]); x+=6; j++; }}我现在要显示一个四位数,比如1234,我现在能想到的方法是一位一位显示,比如在(24,0)显示千位“1”,在(30,0)显示百位“2”,在(36,0)显示十位“3”,在(42,0)显示个位“4”;具体代码实现如下:sswitch(InputVoltage/1000) //千位 { case 0: OLED_P6x8Str(24+x,0+y,"0");break; case 1: OLED_P6x8Str(24+x,0+y,"1");break; case 2: OLED_P6x8Str(24+x,0+y,"2");break; case 3: OLED_P6x8Str(24+x,0+y,"3");break; case 4: OLED_P6x8Str(24+x,0+y,"4");break; case 5: OLED_P6x8Str(24+x,0+y,"5");break; case 6: OLED_P6x8Str(24+x,0+y,"6");break; case 7: OLED_P6x8Str(24+x,0+y,"7");break; case 8: OLED_P6x8Str(24+x,0+y,"8");break; case 9: OLED_P6x8Str(24+x,0+y,"9");break; default:break; } switch((InputVoltage%1000)/100) //百位 { case 0: OLED_P6x8Str(30+x,0+y,"0");break; case 1: OLED_P6x8Str(30+x,0+y,"1");break; case 2: OLED_P6x8Str(30+x,0+y,"2");break; case 3: OLED_P6x8Str(30+x,0+y,"3");break; case 4: OLED_P6x8Str(30+x,0+y,"4");break; case 5: OLED_P6x8Str(30+x,0+y,"5");break; case 6: OLED_P6x8Str(30+x,0+y,"6");break; case 7: OLED_P6x8Str(30+x,0+y,"7");break; case 8: OLED_P6x8Str(30+x,0+y,"8");break; case 9: OLED_P6x8Str(30+x,0+y,"9");break; default:break; } switch((InputVoltage%100)/10) //十位 { case 0: OLED_P6x8Str(36+x,0+y,"0");break; case 1: OLED_P6x8Str(36+x,0+y,"1");break; case 2: OLED_P6x8Str(36+x,0+y,"2");break; case 3: OLED_P6x8Str(36+x,0+y,"3");break; case 4: OLED_P6x8Str(36+x,0+y,"4");break; case 5: OLED_P6x8Str(36+x,0+y,"5");break; case 6: OLED_P6x8Str(36+x,0+y,"6");break; case 7: OLED_P6x8Str(36+x,0+y,"7");break; case 8: OLED_P6x8Str(36+x,0+y,"8");break; case 9: OLED_P6x8Str(36+x,0+y,"9");break; default:break; } switch(InputVoltage%10) //个位 { case 0: OLED_P6x8Str(42+x,0+y,"0");break; case 1: OLED_P6x8Str(42+x,0+y,"1");break; case 2: OLED_P6x8Str(42+x,0+y,"2");break; case 3: OLED_P6x8Str(42+x,0+y,"3");break; case 4: OLED_P6x8Str(42+x,0+y,"4");break; case 5: OLED_P6x8Str(42+x,0+y,"5");break; case 6: OLED_P6x8Str(42+x,0+y,"6");break; case 7: OLED_P6x8Str(42+x,0+y,"7");break; case 8: OLED_P6x8Str(42+x,0+y,"8");break; case 9: OLED_P6x8Str(42+x,0+y,"9");break; default:break; }感觉这样写的话,一两个参数还好,如果参数多了,就有点费代码了,那么问题来了:能不能将void OLED_P6x8Str(unsigned char x, y,unsigned char ch[])重定义,让我能直接​OLED_P6x8Str(24+x,0+y,InputVoltage)​这样写就能在(24,0)开始到(41,0)的位置直接显示“1234”呢,这个函数要怎么改?

关于预编译报错问题,求解!

本帖最后由 SingleYork 于 2016-10-27 09:56 编辑 #if (MCU_Type == STC15W_4K16S4) #define MOVC_ShiftAddress 0x4000 #elif (MCU_Type == STC15W_4K32S4) #define MOVC_ShiftAddress 0x8000 #elif (MCU_Type == STC15W_4K40S4) #define MOVC_ShiftAddress 0xA000 #elif (MCU_Type == STC15W_4K48S4) #define MOVC_ShiftAddress 0xC000 #elif (MCU_Type == STC15W_4K56S4) #define MOVC_ShiftAddress 0xE000 #elif (MCU_Type == IAP15W_4K58S4) #define MOVC_ShiftAddress 0xE000 #elif (MCU_Type == IAP15W_4K61S4) #define MOVC_ShiftAddress 0xE000 #elif (MCU_Type == IAP15W_4K63S4) #define MOVC_ShiftAddress 0xE000 #endif 在看刘平老师飞天三号EEPROM库函数中有这么一段代码,编译的时候总是报警,不知道是哪里有问题,是语法的问题么?或者是其他问题呢?

串行口1控制寄存器SCON中的TB8、RB8起什么作用?

本帖最后由 SingleYork 于 2016-11-8 18:22 编辑 [postbg]bg7.png[/postbg]如题: 串行口1控制寄存器SCON中的TB8、RB8起什么作用?在什么方式下使用? 温馨提示: 请从以下链接中的帖子学习相关内容并进行回答,根据原帖内容,给出总结并能有自己独特的见解的答案将更有可能被选为最佳答案!七天之内答案不可见,答题的童鞋有七天时间修改答案,每周结贴一次,选择最佳答案。获得最佳答案的童鞋将会获得相应的专家积分,专家积分排行榜有丰厚的奖励哦!每周只有5个悬赏问答,机会有限,请认真回答! 答案出处: I51开发板活动原帖及例程详解汇总 //www.icxbk.com/community/forum.php?mod=viewthread&tid=65414 (出处: ICKEY BBS)

简述STC15F2K60S2单片机串行口的工作方式。

本帖最后由 SingleYork 于 2016-10-22 19:00 编辑 [postbg]bg7.png[/postbg]如题: 简述STC15F2K60S2单片机串行口的工作方式。 温馨提示: 请从以下链接中的帖子学习相关内容并进行回答,根据原帖内容,给出总结并能有自己独特的见解的答案将更有可能被选为最佳答案!七天之内答案不可见,答题的童鞋有七天时间修改答案,每周结贴一次,选择最佳答案。获得最佳答案的童鞋将会获得相应的专家积分,专家积分排行榜有丰厚的奖励哦!每周只有5个悬赏问答,机会有限,请认真回答! 答案出处: I51开发板活动原帖及例程详解汇总 //www.icxbk.com/community/forum.php?mod=viewthread&tid=65414 (出处: ICKEY BBS)

通信的基本方式有哪几种?各有什么特点?

本帖最后由 SingleYork 于 2016-11-8 18:11 编辑 [postbg]bg7.png[/postbg][table=98%] 如题: 通信的基本方式有哪几种?各有什么特点? 温馨提示: 请从以下链接中的帖子学习相关内容并进行回答,根据原帖内容,给出总结并能有自己独特的见解的答案将更有可能被选为最佳答案!七天之内答案不可见,答题的童鞋有七天时间修改答案,每周结贴一次,选择最佳答案。获得最佳答案的童鞋将会获得相应的专家积分,专家积分排行榜有丰厚的奖励哦!每周只有5个悬赏问答,机会有限,请认真回答! 答案出处: I51开发板活动原帖及例程详解汇总 //www.icxbk.com/community/forum.php?mod=viewthread&tid=65414 (出处: ICKEY BBS) [/table]

什么是波特率?如何计算和设置串行通信的波特率?

本帖最后由 SingleYork 于 2016-11-8 18:13 编辑 [postbg]bg7.png[/postbg]如题: 什么是波特率?如何计算和设置串行通信的波特率? 温馨提示: 请从以下链接中的帖子学习相关内容并进行回答,根据原帖内容,给出总结并能有自己独特的见解的答案将更有可能被选为最佳答案!七天之内答案不可见,答题的童鞋有七天时间修改答案,每周结贴一次,选择最佳答案。获得最佳答案的童鞋将会获得相应的专家积分,专家积分排行榜有丰厚的奖励哦!每周只有5个悬赏问答,机会有限,请认真回答! 答案出处: I51开发板活动原帖及例程详解汇总 //www.icxbk.com/community/forum.php?mod=viewthread&tid=65414 (出处: ICKEY BBS)