zsmbj

    1.                                  
      O shit! 我该怎么发你附件? 难道重开一帖子?
      高级回复中可以添加附件。
    2. 寻求STM32扩展以太网接口的方案 28/12071 stm32/stm8 2010-08-05
                                       嗨嗨,哥儿几个,这里不是做广告的地方啊,
    3. 请问STM8和STM32是否货期紧张??? 21/6304 stm32/stm8 2010-07-15
                                       如果真有人炒货,那么怪ST有什么用?又不是ST让他们炒的,
    4. 低功耗下,关于GPIO如何配置的问题 12/5549 嵌入式系统 2010-05-12
      GPIO的功耗基本不考虑的 低功耗的设计不应该在这里着眼 驱动能够分级控制一个设备的功耗 比把全部GPIO都关了还要有效一万倍 在GPIO做文章 就是看见芝麻 丢了西瓜
    5. #include "ds1302.h" #include "stcdelay.h" #define CLOCK_HALT_MASK 0x80                  //1000 0000 #define HALF_FULL_MODE_MASK 0x80    //1000 0000 12/24小时模式 #define AM_PM_MASK 0x20                          //0010 0000 #define DISABLE_WRITE_PROTECT 0x00  //允许写入 #define ENABLE_WRITE_PROTECT 0x80        //禁止写入 void InitDS1302() {         BYTE temp = 0;         /*********************************************************          At power-up,  RST  must be a logic 0 until VCC > 2.0V.            Also SCLK must be at a logic 0 when  RST  is driven to          a logic 1 state.         *******************************************************/                 RST_PIN = 0;         DelayMS(10);         RST_PIN = 1;         SCLK_PIN = 0;                         WriteSingleCmdByte(CONTROL, DISABLE_WRITE_PROTECT);         //允许写         /********************************************************************************         In  order  to  prevent  accidental  enabling,  only  a pattern of 1010 will enable         the trickle charger(TCS),         有备用电池,涓流充电用处不大         *********************************************************************************/         WriteSingleCmdByte(TRICKLE_CHARGE, 0x00); //不使用充电功能                   temp = ReadSingleCmdByte(SECOND_READ);//读出,然后再写入         RESET_STATE_FLAG(temp, CLOCK_HALT_MASK);//清CLOCK HALT FLAG,以便可以正常启动         WriteSingleCmdByte(SECOND_WRITE, temp);         } static void WriteSingleCmdByte(COMMANDBYTE cmd, BYTE Data) {         RST_PIN = 0;         SCLK_PIN = 0;           RST_PIN = 1;         WriteOneByte(cmd);         WriteOneByte(Data);         RST_PIN = 0; } static BYTE ReadSingleCmdByte(COMMANDBYTE cmd) {         BYTE Ret = 0;         RST_PIN = 0;         SCLK_PIN = 0;           RST_PIN = 1;         WriteOneByte(cmd);         Ret = ReadOneByte();                 RST_PIN = 0;         return Ret; } static void WriteOneByte(BYTE byte) {         BYTE i = 0;         for(i = 0; i < 8; i++)         {                 IO_PIN = TEST_BIT(byte, i);                 SCLK_PIN = 1;                 NOP();                 NOP();                 NOP();                 SCLK_PIN = 0;                        } } static BYTE ReadOneByte() {         BYTE i = 0;         BYTE Ret = 0;         /*******************************************************************         Note that the first data bit to be transmitted occurs on the first falling         edge after the last bit of the command byte is written.         所以进入循环后马上读取IO数据         *******************************************************************/         for(i = 0; i < 8; i++)         {                 if(IO_PIN)                 {                         SET_BIT(Ret, i);                 }                 SCLK_PIN = 1;                 NOP();                 NOP();                 NOP();                 SCLK_PIN = 0;                                         }         return Ret;         } void SetDateTime(const BCDDATETIME* pBCDDateTime) {         BYTE i = 0;         const BYTE* p = (BYTE*)pBCDDateTime;         RST_PIN = 0;         SCLK_PIN = 0;           RST_PIN = 1;         WriteOneByte(CLOCK_BURST_WRITE);                 for(i = 0; i < 8; i++)                {                 WriteOneByte(*p);                 p++;                }         RST_PIN = 0; } void GetDateTime(BCDDATETIME* pBCDDateTime) {         BYTE i = 0;         BYTE* p = (BYTE*)pBCDDateTime;         RST_PIN = 0;         SCLK_PIN = 0;           RST_PIN = 1;         WriteOneByte(CLOCK_BURST_READ);         /*******************************************************************         Note that the first data bit to be transmitted occurs on the first falling         edge after the last bit of the command byte is written.         所以进入循环后马上读取IO数据         *******************************************************************/         for(i = 0; i < 7; i++)                //最后一个字节是写保护字节,不需要读取         {                  *p = ReadOneByte();                 p++;         }                 RST_PIN = 0; } 复制代码
    6. 用友善之臂mini2440的朋友请进 5/3897 嵌入式系统 2010-04-11
      裸机的。 基于操作系统就不用管这么多了,操作系统已经进行实现,只需调用相关函数,注册就可以了,不过个人还是比较喜欢裸机的。这样对我个人对整个驱动程序的了解更加深入,才能做到真正的跟硬件打交到。
    7. STM32F03VCT6无法串口ISP编程 18/8601 stm32/stm8 2010-03-22
                                       MAX3232不是只是用于串口通信的吗
    8. 宇龙的机器,,coolpad n900 让人崩溃的问题 5/3119 嵌入式系统 2010-03-19
      只要连着机器调试把程序启动起来,程序就运行如飞, 连着机器调,应该是RAM里面运行, 脱机运行可能是在RAM 运行。 建议按照楼上所说,测试下。
    9. WinCE6.0下CETK测试问题 13/4630 WindowsCE 2010-03-18
      期待解决方法啊~~
    10. 赞一个    kyzf
    11. 我该不该跳槽? 21/8624 嵌入式系统 2010-03-07
      娘滴,本来2楼应该是我,可是我这边没有刷上服务器,RI!看楼主的经历很丰富,但是有一个问题,你主要对那一方面比较精,这是最关键滴。念大学最怕读那种万金油专业,找工作更是你必须完全展现自己的长处才中,如果什么都懂什么都不精,想实现月薪10K或者以上那真的不是一般的难哦!
    12. wince驱动从指定地址读取数据。 20/6567 WindowsCE 2010-02-02
      我用的wince 6.0的。
    13. 做好了,共享一下,大伙会感谢你地
    14. #define   EV_RXCHAR                       0x0001     //   Any   Character   received    #define   EV_RXFLAG                       0x0002     //   Received   certain   character    #define   EV_TXEMPTY                      0x0004     //   Transmitt   Queue   Empty    #define   EV_CTS                          0x0008     //   CTS   changed   state    #define   EV_DSR                          0x0010     //   DSR   changed   state    #define   EV_RLSD                         0x0020     //   RLSD   changed   state    #define   EV_BREAK                        0x0040     //   BREAK   received    #define   EV_ERR                          0x0080     //   Line   status   error   occurred    #define   EV_RING                         0x0100     //   Ring   signal   detected    #define   EV_PERR                         0x0200     //   Printer   error   occured    #define   EV_RX80FULL                          0x0400     //   Receive   buffer   is   80   percent   full    #define   EV_EVENT1                       0x0800     //   Provider   specific   event   1    #define   EV_EVENT2                       0x1000     //   Provider   specific   event   2 复制代码 看你的打印信息,出现的事件分别是以下事件: EV_ERR, EV_BREAK, EV_RXFLAG 80h 40h 2h 我们再来看看cserpdd.cpp以及pdds3c2440_ser.cpp源代码 我们可以看到这3个事件都是在CPdd2440Uart::GetLineStatus()中调用EventCallback()发送出去的.. 而唯一能让GetLineStatus()函数反复调用的就是下面这个函数了 ULONG   CPdd2440Uart::ReceiveInterruptHandler(PUCHAR pRxBuffer,ULONG *pBufflen) {     DEBUGMSG(ZONE_THREAD|ZONE_READ,(TEXT("+CPdd2440Uart::ReceiveInterruptHandler pRxBuffer=%x,*pBufflen=%x\r\n"),         pRxBuffer,pBufflen!=NULL?*pBufflen:0));     DWORD dwBytesDropped = 0;     if (pRxBuffer && pBufflen ) {         DWORD dwBytesStored = 0 ;         DWORD dwRoomLeft = *pBufflen;         m_bReceivedCanceled = FALSE;         m_HardwareLock.Lock();                  while (dwRoomLeft && !m_bReceivedCanceled) {             ULONG ulUFSTATE = m_pReg2440Uart->Read_UFSTAT();             DWORD dwNumRxInFifo = (ulUFSTATE & (0x3f
    15.                                  劝楼主还是看电子档比较实在
    16. Eboot和Nboot里代码执行问题 17/6891 嵌入式系统 2010-01-14
      100000000?这个数了太大了吧(或太小,因为可能变成负数)! i是什么类型的?
    17. PC传输文件到WinCE 16/6703 WindowsCE 2010-01-12
      引用 2 楼 veabol 的回复: 如果不想使用常用的U盘形式,就自己开发一个USB的驱动,接收PC的命令并访问WINCE设备的数据。
      写USB驱动很难也,我水平不够也,这个驱动好象是要写在手机那边吧,而且我是不想在手机那边写程序的啊.
    18. makefile中ifeq和ifneq能否嵌套? 10/15955 嵌入式系统 2010-01-07
      好好学习,天天向上!
    19. 高分请教重复打开设备问题 15/5382 嵌入式系统 2010-01-04
      引用 6 楼 gooogleman 的回复: 引用 5 楼 xumercury 的回复: 你不是有WM的碟。看看WM的蓝牙驱动结构? 我觉得主要是我的蓝牙 是采用AT命令方式, WM是采用微软的协议栈的。 汗,搞不定了。
      蓝牙模块是AT的。。。一般的蓝牙模块是CSR+MCU mcu负责做一个通讯,用户直接将AT送给MCU,然后由MCU来把at送给csr。。。。WM的协议栈的话。。不懂。
    20.                                  这个问题据说是IAR V5.4自己的问题,用最新的IAR EWARM V5.4(2009年9月份)就可以了。

最近访客

< 1/1 >

统计信息

已有76人来访过

  • 芯积分:--
  • 好友:--
  • 主题:10
  • 回复:74

留言

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


现在还没有留言