This book brings together indispensable knowledge for building efficient, high-value, Linux-based embedded products: information that has never been assembled in one place before. DRAWING on years of experience as an embedded Linux consultant and field application engineer, Christopher Hallinan offers solutions for the specific technical issues you re most likely to face, demonstrates how to build an effective embedded Linux environment, and shows how to use it as productively as possible.
標(biāo)簽: indispensable Linux-based high-value efficient
上傳時(shí)間: 2014-01-24
上傳用戶:ANRAN
Organized in a practical problem-and-solution format, More Exceptional C++ picks up where the widely acclaimed Exceptional C++ leaves off, providing successful strategies for solving real-world problems in C++. DRAWING from years of in-the-trenches experience, Herb Sutter provides tested techniques and practical solutions for programmers designing modern software systems with C++, from small projects to enterprise applications.
標(biāo)簽: problem-and-solution Exceptional Organized practical
上傳時(shí)間: 2017-04-28
上傳用戶:阿四AIR
Tic tac toe is (exactly what re your thinking) and it s the first game I made. Made it in one whole day in Turbo C. It uses primitive graphics DRAWING and also demonstrates how to output an image. Written in C, also uses a library I got from the net (included) for image output.
標(biāo)簽: thinking exactly first whole
上傳時(shí)間: 2017-08-13
上傳用戶:xhz1993
WAISS TW3DCanvas Component V1.5 Freeware This is a component that acts as a 3D canvas. It supports most of the methods of the Delphi TCanvas Component. All DRAWING methods sent to the component will be rendered in a 3D manor (extruded or embossed) including Text,Circles etc...
標(biāo)簽: TW3DCanvas Component component Freeware
上傳時(shí)間: 2017-08-23
上傳用戶:Avoid98
Matlab 畫三維立體圖形 The aim of geom3d library is to handle and visualize 3D geometric primitives such as points, lines, planes, polyhedra... It provides low-level functions for manipulating 3D geometric primitives, making easier the development of more complex geometric algorithms. Some features of the library are: - creation of various shapes (3D points, 3D lines, planes, polyhedra...) through an intuitive syntax. Ex: createPlane(p1, p2, p3) to create a plane through 3 points. - derivation of new shapes: intersection between 2 planes, intersection between a plane and a line, between a sphere and a line... - functions for 3D polygons and polyhedra. Polyhedra use classical vertex-faces arrays (face array contain indices of vertices), and support faces with any number of vertices. Some basic models are provided (createOctaedron, createCubeoctaedron...), as well as some computation (like faceNormal or centroid) - manipulation of planar transformation. Ex.: ROT = createRotationOx(THETA); P2 = transformPoint3d(P1, ROT); - direct DRAWING of shapes with specialized functions. Clipping is performed automatically for infinite shapes such as lines or rays. Ex: drawPoint3d([50 50 25; 20 70 10], 'ro'); % draw some points drawLine3d([X0 Y0 Z0 DX DY DZ]); % clip and draw straight line Some functions require the geom2d package. Additional help is provided in geom3d/Contents.m file, as well as summary files like 'points3d.m' or 'lines3d.m'.
標(biāo)簽: Matlab 畫三維立體圖形
上傳時(shí)間: 2015-11-02
上傳用戶:A1321
// 學(xué)生管理.cpp : Defines the entry point for the application. // #include "stdafx.h" #include "resource.h" #define MAX_LOADSTRING 100 // Global Variables: HINSTANCE hInst; // current instance TCHAR szTitle[MAX_LOADSTRING]; // The title bar text TCHAR szWindowClass[MAX_LOADSTRING]; // The title bar text // Foward declarations of functions included in this code module: ATOM MyRegisterClass(HINSTANCE hInstance); BOOL InitInstance(HINSTANCE, int); LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); LRESULT CALLBACK About(HWND, UINT, WPARAM, LPARAM); struct person { char name[10]; int ID; int cj_yw; int cj_sx; struct person* next; struct person* pro; }per; int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { // TODO: Place code here. MSG msg; HACCEL hAccelTable; // Initialize global strings LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); LoadString(hInstance, IDC_MY, szWindowClass, MAX_LOADSTRING); MyRegisterClass(hInstance); // Perform application initialization: if (!InitInstance (hInstance, nCmdShow)) { return FALSE; } hAccelTable = LoadAccelerators(hInstance, (LPCTSTR)IDC_MY); // Main message loop: while (GetMessage(&msg, NULL, 0, 0)) { if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) { TranslateMessage(&msg); DispatchMessage(&msg); } } return msg.wParam; } // // FUNCTION: MyRegisterClass() // // PURPOSE: Registers the window class. // // COMMENTS: // // This function and its usage is only necessary if you want this code // to be compatible with Win32 systems prior to the 'RegisterClassEx' // function that was added to Windows 95. It is important to call this function // so that the application will get 'well formed' small icons associated // with it. // ATOM MyRegisterClass(HINSTANCE hInstance) { WNDCLASSEX wcex; wcex.cbSize = sizeof(WNDCLASSEX); wcex.style = CS_HREDRAW | CS_VREDRAW; wcex.lpfnWndProc = (WNDPROC)WndProc; wcex.cbClsExtra = 0; wcex.cbWndExtra = 0; wcex.hInstance = hInstance; wcex.hIcon = LoadIcon(hInstance, (LPCTSTR)IDI_MY); wcex.hCursor = LoadCursor(NULL, IDC_ARROW); wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); wcex.lpszMenuName = (LPCSTR)IDC_MY; wcex.lpszClassName = szWindowClass; wcex.hIconSm = LoadIcon(wcex.hInstance, (LPCTSTR)IDI_SMALL); return RegisterClassEx(&wcex); } // // FUNCTION: InitInstance(HANDLE, int) // // PURPOSE: Saves instance handle and creates main window // // COMMENTS: // // In this function, we save the instance handle in a global variable and // create and display the main program window. // BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) { HWND hWnd; hInst = hInstance; // Store instance handle in our global variable hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL); if (!hWnd) { return FALSE; } ShowWindow(hWnd, nCmdShow); UpdateWindow(hWnd); return TRUE; } // // FUNCTION: WndProc(HWND, unsigned, WORD, LONG) // // PURPOSE: Processes messages for the main window. // // WM_COMMAND - process the application menu // WM_PAINT - Paint the main window // WM_DESTROY - post a quit message and return // // LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { int wmId, wmEvent; PAINTSTRUCT ps; HDC hdc; TCHAR szHello[MAX_LOADSTRING]; LoadString(hInst, IDS_HELLO, szHello, MAX_LOADSTRING); switch (message) { case WM_COMMAND: wmId = LOWORD(wParam); wmEvent = HIWORD(wParam); // Parse the menu selections: switch (wmId) { case IDM_ABOUT: DialogBox(hInst, (LPCTSTR)IDD_ABOUTBOX, hWnd, (DLGPROC)About); break; case IDM_EXIT: DestroyWindow(hWnd); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } break; case WM_PAINT: hdc = BeginPaint(hWnd, &ps); // TODO: Add any DRAWING code here... RECT rt; GetClientRect(hWnd, &rt); DrawText(hdc, szHello, strlen(szHello), &rt, DT_CENTER); EndPaint(hWnd, &ps); break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } return 0; } // Mesage handler for about box. LRESULT CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_INITDIALOG: return TRUE; case WM_COMMAND: if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) { EndDialog(hDlg, LOWORD(wParam)); return TRUE; } break; } return FALSE; }
上傳時(shí)間: 2016-12-29
上傳用戶:767483511
// 學(xué)生管理.cpp : Defines the entry point for the application. // #include "stdafx.h" #include "resource.h" #define MAX_LOADSTRING 100 // Global Variables: HINSTANCE hInst; // current instance TCHAR szTitle[MAX_LOADSTRING]; // The title bar text TCHAR szWindowClass[MAX_LOADSTRING]; // The title bar text // Foward declarations of functions included in this code module: ATOM MyRegisterClass(HINSTANCE hInstance); BOOL InitInstance(HINSTANCE, int); LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); LRESULT CALLBACK About(HWND, UINT, WPARAM, LPARAM); struct person { char name[10]; int ID; int cj_yw; int cj_sx; struct person* next; struct person* pro; }per; int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { // TODO: Place code here. MSG msg; HACCEL hAccelTable; // Initialize global strings LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); LoadString(hInstance, IDC_MY, szWindowClass, MAX_LOADSTRING); MyRegisterClass(hInstance); // Perform application initialization: if (!InitInstance (hInstance, nCmdShow)) { return FALSE; } hAccelTable = LoadAccelerators(hInstance, (LPCTSTR)IDC_MY); // Main message loop: while (GetMessage(&msg, NULL, 0, 0)) { if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) { TranslateMessage(&msg); DispatchMessage(&msg); } } return msg.wParam; } // // FUNCTION: MyRegisterClass() // // PURPOSE: Registers the window class. // // COMMENTS: // // This function and its usage is only necessary if you want this code // to be compatible with Win32 systems prior to the 'RegisterClassEx' // function that was added to Windows 95. It is important to call this function // so that the application will get 'well formed' small icons associated // with it. // ATOM MyRegisterClass(HINSTANCE hInstance) { WNDCLASSEX wcex; wcex.cbSize = sizeof(WNDCLASSEX); wcex.style = CS_HREDRAW | CS_VREDRAW; wcex.lpfnWndProc = (WNDPROC)WndProc; wcex.cbClsExtra = 0; wcex.cbWndExtra = 0; wcex.hInstance = hInstance; wcex.hIcon = LoadIcon(hInstance, (LPCTSTR)IDI_MY); wcex.hCursor = LoadCursor(NULL, IDC_ARROW); wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); wcex.lpszMenuName = (LPCSTR)IDC_MY; wcex.lpszClassName = szWindowClass; wcex.hIconSm = LoadIcon(wcex.hInstance, (LPCTSTR)IDI_SMALL); return RegisterClassEx(&wcex); } // // FUNCTION: InitInstance(HANDLE, int) // // PURPOSE: Saves instance handle and creates main window // // COMMENTS: // // In this function, we save the instance handle in a global variable and // create and display the main program window. // BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) { HWND hWnd; hInst = hInstance; // Store instance handle in our global variable hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL); if (!hWnd) { return FALSE; } ShowWindow(hWnd, nCmdShow); UpdateWindow(hWnd); return TRUE; } // // FUNCTION: WndProc(HWND, unsigned, WORD, LONG) // // PURPOSE: Processes messages for the main window. // // WM_COMMAND - process the application menu // WM_PAINT - Paint the main window // WM_DESTROY - post a quit message and return // // LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { int wmId, wmEvent; PAINTSTRUCT ps; HDC hdc; TCHAR szHello[MAX_LOADSTRING]; LoadString(hInst, IDS_HELLO, szHello, MAX_LOADSTRING); switch (message) { case WM_COMMAND: wmId = LOWORD(wParam); wmEvent = HIWORD(wParam); // Parse the menu selections: switch (wmId) { case IDM_ABOUT: DialogBox(hInst, (LPCTSTR)IDD_ABOUTBOX, hWnd, (DLGPROC)About); break; case IDM_EXIT: DestroyWindow(hWnd); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } break; case WM_PAINT: hdc = BeginPaint(hWnd, &ps); // TODO: Add any DRAWING code here... RECT rt; GetClientRect(hWnd, &rt); DrawText(hdc, szHello, strlen(szHello), &rt, DT_CENTER); EndPaint(hWnd, &ps); break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } return 0; } // Mesage handler for about box. LRESULT CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_INITDIALOG: return TRUE; case WM_COMMAND: if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) { EndDialog(hDlg, LOWORD(wParam)); return TRUE; } break; } return FALSE; }
標(biāo)簽: 學(xué)生 計(jì)算器
上傳時(shí)間: 2016-12-29
上傳用戶:767483511
12bit 低功耗DAC 數(shù)模轉(zhuǎn)換器 The MAX5302 combines a low-power, voltage-output, 12-bit digital-to-analog converter (DAC) and a precision output amplifier in an 8-pin μMAX package. It operates from a single +5V supply, DRAWING less than 280μA of supply current.
上傳時(shí)間: 2017-02-21
上傳用戶:ckbihu
隨著電磁閥在工業(yè)和日常應(yīng)用的增多,其功耗越來越被人們所重視。通過對電磁閥驅(qū)動(dòng)電路的研究,設(shè)計(jì)一套電磁閥節(jié)能驅(qū)動(dòng)電路。不僅提高了電磁閥的響應(yīng)時(shí)間,更重要的是降低了功耗,使電磁閥由工作在大電流狀態(tài)下,變成大電流啟動(dòng)小電流維持的工作狀態(tài)。減少了由電流過大引起的電磁閥線圈過熱,增加了電磁閥的安全性。The power consumption of an electromagnetic valve is DRAWING increasingly more attentiori as it is widely used in industrial production and daily life. In this study, an energy - saving driving circuit of electromagnetic valves was designed. It can make an electromagnetic valve to start with a high current while work with a low current; thereby the power consumption can be reduced. Besides, it can shorten the response time of an electromagnetic valve and improve the security of the valve.
標(biāo)簽: 電磁閥 節(jié)能驅(qū)動(dòng)電路
上傳時(shí)間: 2022-04-16
上傳用戶:
Allegro導(dǎo)出 Gerber文件和鉆孔數(shù)據(jù)文件很多PCB廠家都沒有裝Allegro軟件,所以你不能直接發(fā).brd文件。(很多PCB小廠連ProtelDXP也沒有,只支持Protel99)什么是Gerber文件Gerber文件是所有電路設(shè)計(jì)軟件都可以產(chǎn)生的文件,在電子組裝行業(yè)又稱為模版文件(stencil data),在PCB制造業(yè)又稱為光繪文件。可以說Gerber文件是電子組裝業(yè)中最通用最廣泛的文件格式Gerber文件是EIA的標(biāo)準(zhǔn)格式,分RS274-D和RS274-X兩種,其中RS274-X是RS274-D的擴(kuò)展文件。生產(chǎn)制造部門在條件許可的情況下,應(yīng)當(dāng)盡可能要求用戶或設(shè)計(jì)部門提供RS274-X的Gerber文件,這樣有利于各工序的生產(chǎn)準(zhǔn)備。準(zhǔn)備工作為了保證出片的正確性,需要在設(shè)計(jì)PCB文件之前對一些系統(tǒng)參數(shù)進(jìn)行設(shè)置,該設(shè)置包括畫圖的精度,圖片的尺寸,動(dòng)態(tài)鋪銅的格式。設(shè)置畫圖的精度。在allegro中打開Setup->DRAWING Size菜單,調(diào)出設(shè)置對話框,如圖1在對話框中確定User Units選擇Mils,Size選擇C,這樣整個(gè)作圖區(qū)域會(huì)大一點(diǎn),相應(yīng)的作圖范圍(DRAWING Extents)變?yōu)閃idth:22000.00:Height:17000.00Left X和LeftY為原點(diǎn)坐標(biāo)。Accuracy選擇2,其他根據(jù)你的尺寸自行定義。設(shè)置完成選擇OK按鈕,使配置生效。
上傳時(shí)間: 2022-04-30
上傳用戶:zhaiyawei
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1