zhang223

    1.                                  楼主刚开始学单片机的时候,不都是用的KEIL吗
    2.                                  yybj说得对,多去淘宝找找,目前来说几家卖得好的各有特点吧 我也不说alientek最好,每个板子的最好也只能从某个角度来说!!
    3. 强烈建议STM8S开放外部数据总线 73/15979 stm32/stm8 2010-07-30
                                       
      本人做LED显示屏,用STM32+SRAM+CPLD方式成本较高,因为STM32带总线的起价都得40左右,如果STM8能带总线的话,价格如果不超过十四五的话,并且地址线能连续访问128K及以上地址空间的话,那成本会下来25元,这是具有 ...
      谢谢。。。 发言不当,请谅解。
    4. 已经调试通过的stm32I2C中断方式程序 29/16358 stm32/stm8 2010-07-28
                                       能帮我分析一下吗 谢谢
    5. 发起开源项目:freescale i.MX515,招集铁杆支柱! 105/23407 嵌入式系统 2010-05-25
      关注中
    6. TASKING C166 V8.5正版软件分享 40/17324 嵌入式系统 2010-05-21
      搂主怎么联系,我想要一份TASKING C166 V8.5,我的邮箱gpgao7749@hotmail.com
    7. 为什么DFU进不了USBMSC模式? 19/9473 stm32/stm8 2010-05-12
                                       谢谢版主的关注。* File Name          : main.c * Author             : MCD Application Team * Version            : V3.0.1 * Date               : 04/27/2009 * Description        : Device Firmware Upgrade(DFU) demo main file复制代码
    8. STM8S常见问题大杂烩 40/14026 stm32/stm8 2010-04-13
                                        好贴! 7.EEPROM操作时,会关闭中断??? 楼主确认207关中断?
    9. CPU FLASH ID问题 10/5585 嵌入式系统 2010-04-01
      引用 1 楼 veabol 的回复: 你指的是同型号不同器件间的ID唯一性吗? K9F1208没有,另一个型号是不是写错了?S3C2440?也没有
      嗯,是的,同型号不同器件间的ID唯一性 想读出他们的唯一标识
    10. 如何串口读取GPS的数据 15/7263 嵌入式系统 2010-03-26
      引用 9 楼 gdtyy 的回复: 你用这个工具把数据抓下来,看看都是些什么 ,再写程序处理即可。 下载地址: http://download.cnet.com/ComTrace/3000-2218_4-75156892.html?tag=mncol 感觉好别忘了给个review(评论),谢谢!
      谢谢
    11. 我的.BN0一直都是32M,不足的地方会补充0,至于你那个29M不清楚为什么
    12. 关于串口很无奈。。。。。 9/3904 stm32/stm8 2010-02-08
                                       楼主自己的问题,怪上编译器了
    13.                                  接收器中还有一个字节的缓冲,只要在下一个字节没有完全到达之前处理中断,则不会丢失数据。
    14. 这个不难,就去找个开发板支持CE的就行,要现成的串口编程吗纯WIN32的都一样,OK了。
    15. 做Wince是不是没有前途啊 45/14779 嵌入式系统 2010-01-10
      引用 4 楼 ricky_hu 的回复: LZ都干了2年了应该对于wince有一个整体的认识吧,有没有前途不是哪一个人随便就能下定论的。任何事情只要你用心做,并且持之以恒,都会有很大的前途的。 实在没必要为别人的一句话去郁闷!呵呵。。。
      Windows 开发主要是不开源啊, 很多东西想深入学习都很难。 加上现在看到嵌入式linux开发的工资很高,都是10K起的 毕业找工作时是不是选错方向了,所以很郁闷啊
    16. 压力传感器!!!! 8/3839 嵌入式系统 2009-10-17
      MPX5010是半导体压力传感器,你怎么安装它?把它装在水中?那是不行的
    17. LPTSTR字符串连接问题? 4/3372 嵌入式系统 2009-09-17
      引用 1 楼 zb094182 的回复: dialno? =? dialno+ L"00068 ";?
      试了,不行,提示说 错误        1        error C2110: “+”: 不能添加两个指针
    18. 没看PXA270的datahseet,只好随便提示一下,我看了你的代码,好像设置4个GPIO的方向,然后是使能了SPI的时钟,但是应该还有一个寄存器要配置这几个GPIO是用作普通的GPIO,还是SPI专用控制器。
    19. 向跟我一样刚刚起步的菜鸟们推荐一本书 10/5232 嵌入式系统 2009-08-14
      主要讲设备驱动程序的开发、调试、移植等;还有BSP、Boot Loader、OAL开发和相关的文件配置。
    20. 关于NK烧到FLASH中运行的问题 41/9106 嵌入式系统 2009-07-23
      引用 28 楼 amorous 的回复: eboot相关代码贴出看看
      MAIN 函数 // // Type definitions. // typedef VOID (*PFN_LAUNCH)(VOID); typedef enum        // Supported image load/download methods. {     BL_ENET = 0,    // Ethernet.     BL_ATAHDD       // ATA/IDE hard drive. } IMG_LOC_ID; typedef BOOL  (*PFN_PLATFORM_INIT)(VOID); typedef DWORD (*PFN_PRE_DOWNLOAD)(VOID); typedef BOOL  (*PFN_READ_DATA)(DWORD cbData, LPBYTE pbData); // // Definitions // // // Function prototypes. // void OEMInitDebugSerial(void) ; // // Varaibles. // DWORD EdbgDebugZone; static EDBG_ADDR MyAddr; BOOL bEthLaunch =FALSE; static PFN_PLATFORM_INIT         pfnPlatformInit2 = NULL; static PFN_PRE_DOWNLOAD          pfnPreDownload   = NULL; static PFN_READ_DATA             pfnReadData      = NULL; extern void    OEMUartStop(void); //**************************************************************************** // SpinForever //**************************************************************************** // Spin forever. // // static void SpinForever(void) {     EdbgOutputDebugString("SpinForever...\r\n");     while(1)     {         ;     } } //**************************************************************************** // OEMLaunch //**************************************************************************** // dwImage          - Image Start // dwImageLength    - Image Length // dwLaunchAddr     - Launch Address // pRomHdr          - Pointer to the bin header.  Used to copy uninitialized //                    data to ram. // void OEMLaunch (     DWORD dwImageStart,     DWORD dwImageLength,     DWORD dwLaunchAddr,     const ROMHDR *pRomHdr ) {     EDBG_OS_CONFIG_DATA *pCfgData;        EDBG_ADDR EshellHostAddr;     if (bEthLaunch)        // Wait for host connection?     {         memset (&EshellHostAddr, 0, sizeof (EshellHostAddr));         //pDriverGlobals->eth.EdbgAddr         if (!(pCfgData = EbootWaitForHostConnect(&pDriverGlobals->eth.EdbgAddr, &EshellHostAddr)))         {             EdbgOutputDebugString("ERROR: EbootWaitForHostConenct failed, spin forever\r\n");             SpinForever();         }         EdbgOutputDebugString         (             "EBOOT: pCfgData = 0x%x, pCfgData->Flags\n",             (ULONG)pCfgData,             (ULONG)pCfgData->Flags         );         if (pCfgData->Flags & EDBG_FL_DBGMSG)         {             EdbgOutputDebugString("Enabling debug messages over Ethernet, IP: %s, port:%u\n",                               inet_ntoa(pCfgData->DbgMsgIPAddr),ntohs(pCfgData->DbgMsgPort));             memcpy((void *)&pDriverGlobals->eth.DbgHostAddr.wMAC, (void *)&EshellHostAddr.wMAC,6);             pDriverGlobals->eth.DbgHostAddr.dwIP  = pCfgData->DbgMsgIPAddr;             pDriverGlobals->eth.DbgHostAddr.wPort = pCfgData->DbgMsgPort;         }         if (pCfgData->Flags & EDBG_FL_PPSH)         {             EdbgOutputDebugString("Enabling CESH over Ethernet,           IP: %s, port:%u\n",                               inet_ntoa(pCfgData->PpshIPAddr),ntohs(pCfgData->PpshPort));             memcpy((void *)&pDriverGlobals->eth.PpshHostAddr.wMAC, (void *)&EshellHostAddr.wMAC,6);             pDriverGlobals->eth.PpshHostAddr.dwIP  = pCfgData->PpshIPAddr;             pDriverGlobals->eth.PpshHostAddr.wPort = pCfgData->PpshPort;         }         if (pCfgData->Flags & EDBG_FL_KDBG)         {             EdbgOutputDebugString("Enabling KDBG over Ethernet,           IP: %s, port:%u\n",                               inet_ntoa(pCfgData->KdbgIPAddr),ntohs(pCfgData->KdbgPort));             memcpy((void *)&pDriverGlobals->eth.KdbgHostAddr.wMAC, (void *)&EshellHostAddr.wMAC,6);             pDriverGlobals->eth.KdbgHostAddr.dwIP  = pCfgData->KdbgIPAddr;             pDriverGlobals->eth.KdbgHostAddr.wPort = pCfgData->KdbgPort;         }         pDriverGlobals->eth.etherFlags = pCfgData->Flags;         //         // This is also referred to the "ODO" mac address.  Only the MAC is valid in this variable.         //         memcpy((void *)&pDriverGlobals->eth.EshellHostAddr, (void *)&EshellHostAddr,sizeof(EDBG_ADDR));     }     else     {         //         // It is ether a parallel port or a hard driver download.         //              }     // If no jump address is specified, choose the default (flash address).     //     if (!dwLaunchAddr)     {         //dwLaunchAddr = DEFAULT_JUMP_ADDR;         SpinForever();     }     EdbgOutputDebugString("INFO: Jumping to image at 0x%X...\r\n", dwLaunchAddr);     //     // Delay 1 Millisecond to flush the Uart fifo and stop the UART.     //     if(bEthLaunch)     {         DelayInuSec(1000);         // OEMUartStop();     }         ((PFN_LAUNCH)(dwLaunchAddr))();     // Should never be reached...     SpinForever(); } //**************************************************************************** // OEMShowProgress //**************************************************************************** // Show download progress. // // dwPacketNum - Shows the number of packets.  I don't know how to get //               the total number of packets. // // TODO - show packet progress. // void OEMShowProgress(DWORD dwPacketNum) {     return; } //**************************************************************************** //  OEMReadData //**************************************************************************** // cbData - Buffer size // pbData - Pointer to buffer. // // return - TRUE Success //          FALSE Failure BOOL OEMReadData(DWORD cbData, LPBYTE pbData) {     BOOL bReturnValue = FALSE;     //     // Read the data in from the device.     //     if(pfnReadData)         bReturnValue = pfnReadData(cbData, pbData);     return bReturnValue;    } //**************************************************************************** // EbootMain //**************************************************************************** // Called from startup.  First C routine to be called. // // void EbootMain(void) {     //     // Write protect the flash.     //     *SMC_SMCBCR6    = 0x2000FBFF;         //         // Turn off the Green LED as recommended in the SDB         // documentation 3.2.4.         //      OEMWriteDebugLED(0,0);     //     // Common bootloader main routine.     //     BootloaderMain();     //     // Should never get here.     //     SpinForever(); } //**************************************************************************** // OEMDebugInit //**************************************************************************** // Callback to initialize serial debug hardware. // // BOOL OEMDebugInit(void) {     //     // Initialize our debug UART.     //     OEMInitDebugSerial();     //     // Initialize the debug timer.     //     DebugTimerInit();     //     // Initialize a PCMCIA card. Temporarily comment out.     //     OEMPCMCIAInitialize();     return(TRUE); } //**************************************************************************** // OEMPlatformInit //**************************************************************************** // Called to detect the download type and initialize the platform. // // TRUE indicates success. FALSE indicates failure. // // Callback to initialize the platform. // BOOL OEMPlatformInit(void) {     BOOL fRet = FALSE;     UCHAR i = 0;     EdbgOutputDebugString("\n============================================================\n"                           "EP931x Windows CE Ethernet Bootloader \n"                           "(Built on %s %s)"                           "\n============================================================\n",                           __DATE__, __TIME__);     //     // RLG temp.     //     #if 0     //     // Initiailize the parallel port     //        OEMInitParallelPort();         //     // Check to see if the parallel port is ready.     //     if (OEMIsParallelReady())     {         EdbgOutputDebugString("Downloading BIN file using parallel port.\r\n");         pfnPlatformInit2 = NULL;         pfnPreDownload   = ParallelPreDownload;         pfnReadData      = ParallelPortRead;         bEthLaunch       = FALSE;         fRet             = TRUE;     } else     #endif // 0     if(OEMHDDDetect())     {         EdbgOutputDebugString("Downloading BIN file using Hard Drive/CF card.\r\n");         pfnPlatformInit2 = OEMHDDPlatformInit;         pfnPreDownload   = OEMHDDPreDownload;         pfnReadData      = OEMHDDReadData;         bEthLaunch       = FALSE;         fRet             = TRUE;     }     else       {         EdbgOutputDebugString("Downloading BIN file using Ethernet.\r\n");         pfnPlatformInit2 = OEMEthHardwareInit;         pfnPreDownload   = OEMEthPreDownload;         pfnReadData      = EbootEtherReadData;         //         // This tells the kernel to connect to the ethernet debugger.         //         pDriverGlobals->eth.EbootMagicNum = EBOOT_MAGIC_NUM;         bEthLaunch       = TRUE;         fRet             = TRUE;     }     //     // Initialize ethernet.     //     if(pfnPlatformInit2)         pfnPlatformInit2();     return(fRet); } //**************************************************************************** // OEMPreDownload //**************************************************************************** // Sets up a device before a download. // // Return BL_ERROR, BL_JUMP,  BL_DOWNLOAD // DWORD OEMPreDownload() {     DWORD   dwReturnValue = BL_ERROR;     //     // Read the data in from the device.     //     if(pfnReadData)         dwReturnValue = pfnPreDownload();     return dwReturnValue;    }

最近访客

< 1/1 >

统计信息

已有68人来访过

  • 芯积分:--
  • 好友:--
  • 主题:12
  • 回复:46

留言

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


现在还没有留言