tst_max.cpp

  name="google_ads_frame" marginwidth="0" marginheight="0" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-5572165936844014&dt=1194442938015&lmt=1194190197&format=336x280_as&output=html&correlator=1194442937843&url=file%3A%2F%2F%2FC%3A%2FDocuments%2520and%2520Settings%2Flhh1%2F%E6%A1%8C%E9%9D%A2%2FCLanguage.htm&color_bg=FFFFFF&color_text=000000&color_link=000000&color_url=FFFFFF&color_border=FFFFFF&ad_type=text&ga_vid=583001034.1194442938&ga_sid=1194442938&ga_hid=1942779085&flash=9&u_h=768&u_w=1024&u_ah=740&u_aw=1024&u_cd=32&u_tz=480&u_java=true" frameborder="0" width="336" scrolling="no" height="280" allowtransparency="allowtransparency"> #include <windows.h>
#include "tst_max.h"
#if defined (win32)
   #define IS_WIN32 TRUE
#else
   #define IS_WIN32 FALSE
#endif

HINSTANCE hInst;        // current instance
LPCTSTR lpszAppName = "Generic";
LPCTSTR lpszTitle =   "Generic Application";
BOOL RegisterWin95(CONST WNDCLASS* lpwc);

int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
 {
   MSG msg;
   HWND hWnd;
   WNDCLASS wc;

   wc.style          = CS_HREDRAW | CS_VREDRAW;
   wc.lpfnWndProc    = (WNDPROC)WndProc;
   wc.cbClsExtra     = 0;
   wc.cbWndExtra     = 0;
   wc.hInstance      = 0;
   wc.hIcon          = LoadIcon(hInstance, lpszAppName);
   wc.hCursor        = LoadCursor(NULL, IDC_ARROW);
   wc.hbrBackground  = (HBRUSH)(COLOR_WINDOW+1);
   wc.lpszMenuName   = lpszAppName;
   wc.lpszClassName  = lpszAppName;

   if(!RegisterWin95(&wc))
      return false;
   hInst = hInstance;
   hWnd = CreateWindow (lpszAppName,
                        lpszTitle,
                        WS_OVERLAPPEDWINDOW,
                        CW_USEDEFAULT, 0,
                        CW_USEDEFAULT, 0,
                        NULL,
                        NULL,
                        hInstance,
                        NULL
                       );
   if(!hWnd)
      return false;
   ShowWindow(hWnd, nCmdShow);
   UpdateWindow(hWnd);
   while(GetMessage(&msg, NULL, 0,0))
    {
      TranslateMessage(&msg);
      DispatchMessage(&msg);
    }
   return(msg.wParam);
 }

BOOL RegisterWin95(CONST WNDCLASS* lpwc)
 {
   WNDCLASSEX wcex;

   wcex.style           = lpwc->style;
   wcex.lpfnWndProc     = lpwc->lpfnWndProc;
   wcex.cbClsExtra      = lpwc->cbClsExtra;
   wcex.cbWndExtra      = lpwc->cbWndExtra;
   wcex.hInstance       = lpwc->hInstance;
   wcex.hIcon           = lpwc->hIcon;
   wcex.hCursor         = lpwc->hCursor;
   wcex.hbrBackground   = lpwc->hbrBackground;
   wcex.lpszMenuName    = lpwc->lpszMenuName;
   wcex.lpszClassName   = lpwc->lpszClassName;
   wcex.cbSize          = sizeof(WNDCLASSEX);
   wcex.hIconSm         = LoadIcon(wcex.hInstance, "SMALL");
   return RegisterClassEx(&wcex);
 }

LRESULT CALLBACK WndProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
 {
   switch(uMsg)
    {
      case WM_COMMAND:
         switch(LOWORD(wParam))
          {
            case IDM_TEST :
               ShowWindow(hWnd, SW_SHOWMAXIMIZED);
               break;
            case IDM_EXIT :
               DestroyWindow(hWnd);
               break;
          }
         break;
      case WM_DESTROY :
         PostQuitMessage(0);
         break;
      default:
         return (DefWindowProc(hWnd, uMsg, wParam, lParam));
    }
   return(0L);
 }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这段代码包含了一些函数调用和变量操作。下面是代码的解释: 1. `GS_Printf("loops: %lu\r\n", lp);` 调用了一个函数 `GS_Printf` 来打印一个带有参数 `lp` 的字符串。 2. `osThreadSuspendAll();` 调用了一个函数 `osThreadSuspendAll`,用于暂停所有线程的执行。 3. `bfdurt_tst_01.cnt = 0;` 将变量 `bfdurt_tst_01` 的成员 `cnt` 的值设置为 0。 4. `bfdurt_tst_01.err_cnt = 0;` 将变量 `bfdurt_tst_01` 的成员 `err_cnt` 的值设置为 0。 5. `osThreadResumeAll();` 调用了一个函数 `osThreadResumeAll`,用于恢复所有线程的执行。 6. `osDelay(1600);` 调用了一个函数 `osDelay`,用于延迟执行一段时间,单位是毫秒。 7. `uint32_t t = HAL_GetTick();` 获取当前系统时钟的数值,并将其赋值给变量 `t`。 8. `uint32_t i = lp;` 将变量 `lp` 的值赋值给变量 `i`。 9. `while(i--) { ... }` 是一个循环语句,每次循环都会执行大括号内的代码。在循环内部有一个嵌套的循环。 10. `while(bufed_uart_snd_derect(URT1, tx_buf, URT_TST_BUF_LEN));` 是一个嵌套循环,调用了函数 `bufed_uart_snd_derect` 来发送数据,并在数据发送完毕后退出循环。 11. `t = HAL_GetTick() - t;` 计算从变量 `t` 赋值到现在经过的时间,并将结果赋值给变量 `t`。 12. `while(bfdurt_tst_01.cnt != lp){osDelay(4);}` 是一个循环,判断变量 `bfdurt_tst_01` 的成员 `cnt` 是否等于 `lp`,如果不等于则延迟执行一段时间。 13. `osDelay(16);` 调用了一个函数 `osDelay`,用于延迟执行一段时间,单位是毫秒。 14. 最后一行调用了函数 `GS_Printf` 来打印一些计算结果,其中包含了变量 `t`、`lp`、`bfdurt_tst_01.err_cnt` 等值的输出。 总体来说,这段代码主要是进行一些计算和操作,并打印一些结果。其中涉及到了线程的暂停和恢复、数据发送和接收、延迟等操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值