zx0083q

    1. 怎样才能有效地控制堆栈溢出 8/14866 stm32/stm8 2011-02-18
                                       一、局部变量不要使用太多,尤其是局部大数组,最是杀堆栈的; 二、函数调用纵深不要太大; 三、尽量给堆栈留有余地;
    2. 倒塌,数据手册不同 4/3170 stm32/stm8 2010-10-19
                                       文档的版本号和发表时间?
    3. 想请教一个关于STM32SPI时钟的问题 45/14611 stm32/stm8 2010-08-05
                                         我看过了,可是我在读取数据时已经发送过时钟了啊,况且我后面的数据也都是正确的啊?这个P也就是指向SPI2-DR的地址,我没有用库里的SPI-Receive()函数来读取,(我以前用来,也读不出来的,我才想着用指针去读的),我的那几张截图就是说明这个问题的。我感到很是奇怪,希望您帮我解惑一下。谢谢您!
    4.                                  while()的顺序不同
    5. 程序执行时间问题 7/4132 嵌入式系统 2010-06-23
      GetTickCount获取时间是没问题的。 Windows是多任务系统,系统中同时运行着很多线程,CPU需要轮流处理,每个线程每次允许执行大约10ms时间,如果线程无事可做,可以主动放弃分配给它的CPU时间。你的程序每次处理需要78ms,实际上是被分成了8次来执行的,运行过程中CPU来执行了其它线程。系统刚刚启动时,要自动加载很多程序,各个程序分别执行各自的初始化操作,占用CPU时间较多,所以你的程序每执行10ms后需要等待一定的时间后才能继续执行,所以整体过程需要的时间较多。当所有自动加载的程序都初始化完毕后,其它线程占用CPU的时间很少,你的程序在执行过程中被中断的时间很短,所以整体过程需要的时间较少。
    6. 现在许多晶振电路为了降低EMI,增益接近临界值,一个示波器探头那样的负载有可能使晶振电路停振的.
    7. iccavr编译的时候出现的问题 4/4633 嵌入式系统 2010-06-18
      木有啊。我检查过了。我再检查检查
    8. c语言---avr单片机 18/6811 编程基础 2010-06-11
      网上关于C的资料很多的,可以在eeworld下载频道下载!
    9. Nand 拷贝 20/7406 嵌入式系统 2010-05-24
      引用 7 楼 kyzf 的回复: 引用 6 楼 luixing67 的回复: 引用 3 楼 domworldjohn 的回复: 是不是RAM空间不够? RAM有64M,拷贝25M多的空间,从3020,0000开始,应该够了。 你的RAM总共才64M 吗? 你可以试试 仅拷贝10M 或者15M以及20M等的NAND中的内容。 另外可以 尝试下 在拷贝NAND 时,不要打印LOG 看看,
      是的。64Mram. 就是因为有时候加载错误,才在拷贝的时候打印log的
    10. 提一个我遇到的稀奇现象 3/3059 stm32/stm8 2010-05-14
                                       ; Enable FSMC clock          LDR R0,= 0x00000114          LDR R1,= 0x40021014          STR R0,[R1]                   ; Enable GPIOD, GPIOE, GPIOF and GPIOG clocks          LDR R0,= 0x000001E0          LDR R1,= 0x40021018          STR R0,[R1]     ; SRAM Data lines, NOE and NWE configuration ; SRAM Address lines configuration ; NOE and NWE configuration    ; NE3 configuration ; NBL0, NBL1 configuration          LDR R0,= 0x44BB44BB          LDR R1,= 0x40011400          STR R0,[R1]          LDR R0,= 0xBBBBB444          LDR R1,= 0x40011404          STR R0,[R1]          LDR R0,= 0xB44444BB          LDR R1,= 0x40011800          STR R0,[R1]          LDR R0,= 0x44444BBB          LDR R1,= 0x40011804          STR R0,[R1]          LDR R0,= 0x44BBBBBB          LDR R1,= 0x40011C00          STR R0,[R1]              LDR R0,= 0xBBBB4444          LDR R1,= 0x40011C04          STR R0,[R1]              LDR R0,= 0x44BBBBBB          LDR R1,= 0x40012000          STR R0,[R1]          LDR R0,= 0x44444B44          LDR R1,= 0x40012004          STR R0,[R1]                 ; FSMC Configuration    ; Enable FSMC Bank1_SRAM Bank         LDR R0,= 0x00001001         LDR R1,= 0xA0000010         STR R0,[R1]         LDR R0,= 0x00000100         LDR R1,= 0xA0000014         STR R0,[R1] 我在启动码中这样子配置是不是也达到了你说的目的呢?这是我参照STM库文件中的一个SRAM例程修改的。 现在的问题我找到了,只是每次读取外部SRAM的时候才会导致LED亮,但是很奇怪的是我已经把该GPIO置位为复位值了,怎么还可以以PP模式驱动。也许还是没怎么搞明白,我继续查看一下。
    11. 关于eboot和binfs的一些问题请教大家!!! 12/5449 嵌入式系统 2010-04-01
      韦伯,是的,现在可用明显增加了,但是如果按照multi bin的原理,应该能够实现按需加载,也就是说启动的时候只需要加载RAMIMAGE就可以了,但是为什么现在我每次从flash读的时候都是读整个镜像大小,而不是读RAMIMAGE?
    12. CE 6.0内存映射读文件速度慢,急! 29/9590 嵌入式系统 2010-03-25
      上面说的那几个变量都是在代码中有默认值,可以被bib文件给改写掉。如果OEM没有指定,那么默认值是写死在代码里的: LoaderPoolTarget, 3M LoaderPoolMaximum,8M FilePoolTarget,1M FilePoolMaximum,10M
    13. 设备打开错误求助 2/2401 嵌入式系统 2010-03-25
      问的太白痴了么?咋没人回答呢
    14. STM32启动代码---堆而非栈疑问 14/6094 stm32/stm8 2010-03-19
                                       猜测是给malloc之类的函数用的
    15. st的蜂鸣器输出怎么设置 4/4313 stm32/stm8 2010-03-15
                                       谢谢楼主分享啊
    16. 官方教的方法是修改ExportSDK.sdkcfg文件,参考一下: 定制带有模拟器且支持ActiveSync调试的WINCE5.0 SDK CE版本差别影响估计不大
    17. 多个中断使用怎么分配 8/5095 微控制器 MCU 2010-02-08
      要相信MCU的执行速度,我一般是在中断里面设置标志位,在主程序里判断标志位再执行.UART、SPI、定时器、AD、外部中断全开也没有什么冲突。MCLK用的DCO,7M多一点。
    18. wince5.0 进不了系统 求解!!! 18/7934 嵌入式系统 2010-01-18
      引用 14 楼 amorous 的回复: 经过一段时间操作后会有注册表文件被破坏的情况………… lz能否详细说说是什么操作?
      就是普通的跑地图,插拔卡
    19. WinCE键盘钩子问题 9/6310 嵌入式系统 2010-01-08
      LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) {     int wmId, wmEvent;     PAINTSTRUCT ps;     HDC hdc;             switch (message)     {         case WM_COMMAND:             wmId    = LOWORD(wParam);             wmEvent = HIWORD(wParam);             // Parse the menu selections:             switch (wmId)             {                 case IDM_HELP_ABOUT:                     DialogBox(g_hInst, (LPCTSTR)IDD_ABOUTBOX, hWnd, About);                     break;                 case IDM_FILE_EXIT:                     DestroyWindow(hWnd);                     break;                                 case ID_FILE_KEY:                                         DialogBox(g_hInst, (LPCTSTR)IDD_DLG_KEY, hWnd, TESTKEY);                                        break;                 default:                     return DefWindowProc(hWnd, message, wParam, lParam);             }             break;         case WM_CREATE:             g_hWndCommandBar = CommandBar_Create(g_hInst, hWnd, 1);             CommandBar_InsertMenubar(g_hWndCommandBar, g_hInst, IDR_MENU, 0);             CommandBar_AddAdornments(g_hWndCommandBar, 0, 0);             break;         case WM_PAINT:             hdc = BeginPaint(hWnd, &ps);                          // TODO: Add any drawing code here...                          EndPaint(hWnd, &ps);             break;         case WM_DESTROY:             CommandBar_Destroy(g_hWndCommandBar);             PostQuitMessage(0);             break;         default:             return DefWindowProc(hWnd, message, wParam, lParam);     }     return 0; } INT_PTR CALLBACK TESTKEY(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) {     switch (message)     {         case WM_INITDIALOG:             RECT rectChild, rectParent;             int DlgWidth, DlgHeight;        // dialog width and height in pixel units             int NewPosX, NewPosY;             // trying to center the About dialog             if (GetWindowRect(hDlg, &rectChild))             {                 GetClientRect(GetParent(hDlg), &rectParent);                 DlgWidth        = rectChild.right - rectChild.left;                 DlgHeight        = rectChild.bottom - rectChild.top ;                 NewPosX                = (rectParent.right - rectParent.left - DlgWidth) / 2;                 NewPosY                = (rectParent.bottom - rectParent.top - DlgHeight) / 2;                                                 // if the About box is larger than the physical screen                 if (NewPosX < 0) NewPosX = 0;                 if (NewPosY < 0) NewPosY = 0;                 SetWindowPos(hDlg, 0, NewPosX, NewPosY,                     0, 0, SWP_NOZORDER | SWP_NOSIZE);             }             return (INT_PTR)TRUE;         case WM_COMMAND:                         {                                 // 调用程序                                 switch(LOWORD(wParam))                                 {                                         case IDOK:                                         {                                                 BOOL bRet = FALSE;                                                 bRet = ActivateKBHook(g_hInst, LowLevelKeyboardProc);                                                RETAILMSG(1, (TEXT("[TESTKEY] GET ActivateKBHook %d\r\n"), bRet));                                                                                break;                                         }                                         case IDCANCEL:                             {                                 //EndDialog(hDlg, LOWORD(wParam));                                 return TRUE;                             }                         }                     break;                 }         case WM_CLOSE:             EndDialog(hDlg, message);             return TRUE;     }     return (INT_PTR)FALSE; }
    20. wince6的问题 25/9020 嵌入式系统 2009-12-30
      关注

最近访客

< 1/1 >

统计信息

已有84人来访过

  • 芯积分:--
  • 好友:--
  • 主题:13
  • 回复:56

留言

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


现在还没有留言