wcqu2005

    1. 开发了一个新的项目贸然使用了STM8 30/9889 stm32/stm8 2010-11-07
                                       我用了stm8s,感觉还可以
    2. 按键和LED灯怎么复用IO管脚 36/17745 stm32/stm8 2010-10-22
                                       支持一下。
    3. 按键和LED灯怎么复用IO管脚 36/17745 stm32/stm8 2010-10-21
                                       
      不让加锁存器
      那你最好让你老板去死
    4. 触摸屏读回的数据为0 10/5490 stm32/stm8 2010-10-19
                                       不是,用的ADS7843
    5. 应用程序写成四个线程分别读取解码数据显示呗。 不过同时4个解码恐怕会很卡吧
    6. char2wchar(buf,wbuf,2048); 在这后面把wbuf用消息输出看看是不是转换就出错了,如果是,那就是转化函数出问题了
    7. 关于手写板的问题 16/7219 嵌入式系统 2010-05-12
      引用 14 楼 peasant_lee 的回复: 我之前都是作原理性的假设而已。因为我没看见原理图,我只能假设某一个状态。现在就你的两个疑问说一下: “刚刚问了老师一些问题,他要我先测量出每根管的频率,这样就可以知道扫描一帧图像所需要的周期” 这样做,我估计是因为红外发送到接收需要一定的时间的,你每次扫描都要知道当前这个需要多长时间才能传过去。 “还说这个扫描不同于键盘扫描,当检测到接收点的位置时,不要固定的设置为电平为高。” ……
      这里貌似是上不了图的吧?要不你能加我QQ么?我的是50460401  谢谢你了
    8. 珍爱生命 远离富士康
    9. 单片机开发经历 10/3835 嵌入式系统 2010-04-20
      同意LS LZ,通常只要你案数据手册里的要求做完基础硬件电路,是不会太差的
    10. ??????????
    11. 考虑去买...
    12. USART多机通信不成功 18/7360 stm32/stm8 2010-03-10
                                       遇到同样问题
    13. wince里comman.bib里那么多冒号问题 18/6937 WindowsCE 2010-03-09
      那.bat是环境变量,然后你在工程里加组件,应该也会生成相应的环境变量吧,可是common。bin里的分号他是自己不会消失的啊,FONTS_ARIALBD_1_08这类变量时在哪设置的啊
      引用 1 楼 veabol 的回复: FONTS_ARIALBD_1_08 是变量,选择组件其实就是设置变量, 这样sysgen的时候就知道应该sysgen哪些组件,哪些不要,另外在BIB文件中根据各变量来设置将什么文件加载到NK中去。你看下你的platform.bib和BSP可的.bat文件就明白了。 另外,不是冒号,是分号。
    14. 关于wince6.0生成sdk 17/7058 WindowsCE 2010-01-28
      别的几个属性的图片也贴上来看看
    15. PB Runtime Error,奇怪啊。 8/4613 嵌入式系统 2010-01-11
      以前遇到过,当时是因为BSP包中的驱动问题 比如说 以前有个GPIO文件夹的驱动,然后你又整了个GPIO复件文件夹 就出现了这样的问题,删除一个就可以了,不知道你的是不是这个问题
    16. wince 清空键盘缓冲区 6/4202 WindowsCE 2009-09-25
      帮顶
    17.                                  
    18. 如题
    19. USB client问题 2/3991 嵌入式系统 2009-07-31
      你的问题确实比较难碰到的,主要是高手不爱来坛子理泡。 好好加油吧,共同奴隶。
    20. 小程序可是有大学问的。举个例子吧,断码管用过吧?它的解法有两种:共阴极和共阳极。断码管有abcdefg七个端子接入,一般我们会按顺序abcdef对应单片机某一端口的从低位到高位接。但你想过没有,若是正好把高低位顺序完全接反了怎么办(不要说不可能,我可碰到过)?再加上又可以共阴极和共阳极两种选择。是否可以把这四种情况都统一到一起形成一个.h头文件供日后随意使用呢? 这其实应该是程序员的直觉,一种天生的惰性,把经常用到的东西一次性做好,供日后使用。 我是这么实现的,参见以下代码:[code] #ifndef _LED_NUM_H_ #define _LED_NUM_H_ #include "const.h" typedef enum tagLEDNUM {         LED_0,         LED_1,         LED_2,         LED_3,         LED_4,         LED_5,         LED_6,         LED_7,         LED_8,         LED_9, /*        LED_A,         LED_B,         LED_C,         LED_D,         LED_E,         LED_F,*/         LED_MINUS,         LED_ALL_OFF,         LED_ALL_ON,         LED_TABLE_SIZE }LEDNUM; #if defined COMMON_CATHODE        //共阴极         #ifdef COMMON_CODE                                                                                                                                                                                                            //"-"号                 code BYTE g_LEDNumTable[LED_TABLE_SIZE] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x80, 0x00, 0xff};        //最后两个字节为关和开         #elif defined REVERSE_CODE   //反序字节                 code BYTE g_LEDNumTable[LED_TABLE_SIZE] = {0xfc, 0x60, 0xda, 0xf2, 0x66, 0xb6, 0xae, 0xe0, 0xfe, 0xf6, 0x01, 0x00, 0xff};                 #else                 #error must indicate COMMON_CODE or REVERSE_CODE identifier         #endif #elif defined COMMON_ANTICATHODE  //共阳极         #ifdef COMMON_CODE                                                                                                                                                                  //"-"号                 code BYTE g_LEDNumTable[LED_TABLE_SIZE] = {0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90, 0x7f, 0xff, 0x00}; //最后两个字节为关和开         #elif defined REVERSE_CODE   //反序字节                 code BYTE g_LEDNumTable[LED_TABLE_SIZE] = {0x03, 0x9f, 0x25, 0x0d, 0x99, 0x49, 0x41, 0x1f, 0x01, 0x09, 0xfe, 0xff, 0x00};         #else                 #error must indicate COMMON_CODE or REVERSE_CODE identifier         #endif                                                                                                                                                                                                                      #else         #error must indicate COMMON_CATHODE or COMMON_ANTICATHODE identifier #endif #define GET_LED_CODE(num) (g_LEDNumTable[num]) #endif 这样,以后使用的时候定义一下 COMMON_CATHODE 或COMMON_ANTICATHODE,REVERSE_CODE或COMMON_CODE 标识符就行了,这四个标识符完成了那四种的可能组合。定义过之后,直接用GET_LED_CODE()这个宏就可以取得数字所对应的断码了。比如你想在P0口输出4,那么直接P0 = GET_LED_CODE(4)就可以了,就这么简单。 写成这样一个头文件有如下的好处: 1、达到了代码复用,只要用到段码管就可以直接用这个头文件了,不用每次都重写一遍 2、将运行期获得的参数转化到了编译期来完成,提高了运行速度,当然会占用一些rom 这个头文件里用到了一些可能不太多见的预编译宏,这可是c语言的一大特点,需要多熟悉一下,如果掌握了会大大提高功力。

最近访客

< 1/1 >

统计信息

已有104人来访过

  • 芯积分:--
  • 好友:--
  • 主题:14
  • 回复:63

留言

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


现在还没有留言