본문 바로가기

dsPIC Programming Notes - Debugging Startup Code Microchip dsPIC Programming Notes Microchip has provided very good documentation and tutorial on their website, you can get yourself started with the resources. Here I'd like to present a few notes from my experience of programming with MPLAB IDE and dsPIC30F family chips to save your time. 1. Startup Function If you use the Project Wizard in MPLAB to create a project, you need to supply a main .. 더보기
dsPIC CNC servo Project Open source Project Description This project was developed as an inexpensive way to drive small dc brushed motors as positioning servos for use on a desktop sized CNC machine. The board is interfaced to the PC through 2 pins of a parallel port. The drive signal on these pins is known as quadrature drive. The power stage consists of a power op amp driven in constant current mode. The internal PIC processor (.. 더보기
MPLab C30 printf 사용하기 write()함수를 오버라이딩. #include 추가하고 아래 write()함수를 추가해 주면 된다. int write(int handle, void *buffer, unsigned int len) { int i; for (i = len; i; --i) { char c = *(char*)buffer++; U1TXREG = c; while(!U1STAbits.TRMT); } return(len); } 그리고 PIC은 Heap영역을 따로 할당해 주어야 한다. MPLAB Project Builder Option에서 힙영역을 할당해 주면 된다. 물론 printf를 사용하면 20%정도 오버헤드가 걸린다. printf 사용하지 않았을 경우 section address length (PC units) length (.. 더보기
모달 다이알로그 시작시 숨기기 고수닷넷 - 데미소다오렌지님 1. Introduction MFC를 사용해서 트레이 기반으로 동작하는 다이알로그 베이스드의 프로그램을 개발해 본 사람이라면 누구나 한번쯤은 이런 생각을 해 보았을것이다. 이놈의 모달 왜 시작하기만 하면 나타나지? ShowWindow API를 사용해서 SW_HIDE를 몇 군데 넣어보아도 뾰족한 수가 없었을 것이다. 최대한 노력을 해 보았자, 화면에 나타났다 금새 사라지는게 전부다. 그럼 왜 이런 현상이 나타날까? 그건 MFC 내부적으로 DoModal안에서 다이알로그를 Show하게 만들기 때문이다. 그렇다면 방법은 없을까? 불행하게도 일반적인 ShowWindow를 사용한 방법은 없다. 이 문서에서는 문제를 해결하는 다른 방법을 제시하고 있다. 그럼 2장에서 좀 더 자세히 살펴보.. 더보기
Doc/View 구조 없는 SDI에서 스플릿 윈도우 만들기 Visual C++ 6 에서 새롭게 지원된 MFC App Wizard 옵션은 바로 다큐먼트 뷰 구조를 사용하지 않고 SDI나 MDI를 할 수 있다는 것입니다. 다큐먼트 뷰 구조가 아닐때 스플릿 윈도우를 만드는 방법을 간단히 알아보도록 합니다. Doc/View 구조 없는 SDI에서 스플릿 윈도우 만들기 다음과 같이 메인 프레임에 스플릿 윈도우 변수를 마련한다. class CMainFrame : public CFrameWnd { public: CMainFrame(); protected: DECLARE_DYNAMIC(CMainFrame) CSplitterWnd m_wndSplitter; 그리고 클래스 위자드를 불러서 OnCreateClient라는 함수를 오버라이드한다. 그후 자신이 올리려는 뷰를 RUNTIME.. 더보기
MS Script Control in MFC MSVB Script Constrol 객체를 만들기 먼저 프로젝트에서 Project/Add Project/Controls and Component에서 Registered ActiveX Controls 부분에서 Script Control을 얻어온다. 1. ActiveX 폼 붙이기 식 다이얼로그 폼에다가 MSScript를 하나 붙인다. 그리고 Property에서 Language 를 VBScript로 준다. 그후 클래스 위자드에서 MSScript를 이용해 m_scptBro라는 맴버자료를 만든후 버튼을 누르면 다음 코드를 실행하게 한다. #include #include #include "ScriptError.h" 를 한 후 m_scptBro.AddCode( " \r\n\ Function fnMethod ( i .. 더보기
BLU 검사 https://docs.google.com/present/edit?id=0AVPjfhVuItlVZGc1ejdtNWRfNjdydzhoZmhmOA&hl=en&authkey=CLLN1MYF 더보기
분광 이론 http://www.psiopt.com/korea/system/sys_3_3.asp 컬러 기본 용어 및 개념 1. 2도 시야 및 10도 시야 눈에 있어서 색에 대한 감도는 물체크기 즉 시야각에 따라 변한다 국제조명위원회 (ICE) 에서는 1931년에 2도 시야를 이용하는 2 표준관측자에 대해 정의를 내렸고, 1964년에는 10도 표준관측자에 대해 정의를 내렸다. 2. COLOR MATCHING FUNCTIONS 이 함수들은 Color, 광의 과학적으로 표현함에 있어 인간의 눈감도와 일치시키기 위한 것으로서 RED, GREEN BLUE의 3가지 함수로 나타내고 각각 x,y,z 로서 다음 그래프와 같은 특성을 갖고 있다. 즉 이러한 특성 곡선의 DATA가 원래의 스펙트럼에 적영되어야 측정된 값과 눈이 느끼는.. 더보기
VMware ThinApp 이용 Portable 포터블만들기 VMware ThinApp 이용 Portable 포터블만들기 Thinapp로 무설치를 만드는 방법을 간단히 말하면 1. Thinapp로 설치전 검사를 한다. 2. 만들고자하는 프로그램을 설치한다. 3. Thinapp로 설치후 검사한다. 4. 약간의 수정을 하고 완료한다. 무설치를 만드는 프로그램은 몇가지 되는걸로 알고 있습니다. 그중에서 틴스톨이 가장 만들기 쉽고 편한것 같습니다. 더군다나 한글로 이용하면 어느 누구나 무설치 프로그램을 만들수 있습니다. 틴스톨을 이용하여 무설치 프로그램을 만들어보겠습니다. 이용하는 프로그램은 VMware ThinApp v4.0.1-2866 한글입니다. 무설치로 만들 대상은 제일 속도가 빠르다고 소문을 떨치기 시작하는 Safari 입니다. 사파리 다운로드는 홈페이지 에서 .. 더보기
DTMF 신호를 이용한 간이 원격 제어기 제작 생산 라인이나 측정실 등 멀리 떨어져 있는 곳으로 직접 가지 않고, 원하는 신호를 측정하거나 제어하고자 할 때 여러가지 방법이 있겠지만, 그 중에서 비교적 간단한 것으로 구내 전화기를 이용하여 원격제어를 하는 방법이 있습니다. 이 것은 전화를 이용한 원격 스위치 ON/OFF 장치로서, 전화를 건 쪽에서 전화기의 숫자 버턴을 누르면 원격 제어기에서 해당 출력이 나오게 한 것인데, 전화기 버턴의 신호를 감지하여 동작하도록 한 것입니다. 주변 회로로서는 링 검출회로와 훅 스위치 절환회로가 필요하며, 디코딩된 최종 출력을 원하는 입력과 서로 맞추기 위한 인터페이스만 있으면 왠만한 제어가 가능하다고 봅니다. 그리고, 이 회로를 만들 당시에는 DTMF 디코더가 삼성 Chip만 구할 수 있었지만, 요즘에는 다른 IC.. 더보기
CVCC 전원, 납축전지충전회로, 고효율DC-DC 컨버터등 http://icbank.com/data/ICBZone/ICBManagement/semi_tech/연재(5)-대표적(전자_2409).html 本記事는 日本CQ出版社가 發行하는「トランジスタ技術」誌(2004年1月號)와의 著作權協定에 依據하여 提供받은 資料입니다. CVCC 전원, 납축전지충전회로, 고효율DC-DC 컨버터등 전원 회로 DSP나 A-D 컨버터, D-A 컨버터를 사용한 것처럼 아날로 그 회로와 디지털 회로가 함께 존재하는 애플리케이션에서는 복수의 기준전압원이 필요한 경우가 있다. 그림 1은 하나의 기준전압원에서 다출력 기준전압을 간단 히 생성할 수 있는 회로이다. 입력이 교류신호가 아니라 직류 전압으로 되어 있다. OP 앰프에는 표준적인 단전원 OP 앰프를 사용할 수 있다. NJM2904를 사용했을.. 더보기
HID 램프용 전자 밸러스트 설계 및 제작 本記事는 日本CQ出版社가 發行하는「トランジスタ技術」誌(2004年9月號)와의 著作權協定에 依據하여 提供받은 資料입니다. 역률 개선회로+정전류 제어회로+강압형 DC-DC로 정전력 구동 HID 램프용 전자 밸러스트 설계 및 제작 여기서는 시설조명용 HID(High Intensity Discharge) 램프의 전자 밸러스트 설계 예를 소개한다. 같은 HID 램프라도 시설조명용 HID 램프(사진 1)와 차량탑재용 HID 램프(사진 2)는 구조나 전기적인 동작이 크게 다르다. 이 내용에서 알아보고자 하는 시설조명용 HID 램프는 상용 교류전원 50Hz 또는 60Hz를 사용한 동철 밸러스트를 기본으로 하여 설계되어 있으므로 여기서 제작하는 전자 밸러스트도 이를 기본으로 설계한다. 田中穗積 HID 램프의 특징과 설계목.. 더보기
MD2200회로 질문 http://www.enjoyaudio.com/zbxe/?document_srl=1971205&mid=questions&listStyle=&cpage=MD2200회로 질문 GHOST http://www.enjoyaudio.com/zbxe/?document_srl=1971205 2009.06.23 16:53:10 (*.120.8.160) 734 md2200회로의 일부분입니다. 보시는대로 제너다이오드가 2개있는데 제가 실수로 4148스위칭다이오드를 삽입했습니다. 물론 한동안 사용하다가 발견한것인데 회로내에서는 상당히 안정적으로 동작합니다. 앰프의 열도 없구요. 개조된것이고 이러한상태에서 어떤 문제점은 없을까요 아직까지는 안정적으로 작동합니다만 엔지니어분들이 많은 이곳에 질문을 올려봅니다. 이 게시물을... .. 더보기
파워포인트에 유튜브를 넣자 PPT파일 내에 object나 embed태그를 추가. 유튜브의 많은 영상 소스들을 프리젠테이션에 응용. 파워포인트 도구모음에서 Microsoft Script Editor가 필요합니다. 도구모음 위에 가서 오른쪽 버튼을 클릭해서 Visual Basic도구 모음을 실행합니다. 이 도구모음 안에 Microsoft Script Editor가 있는데요. (주의:이 기능이 설치되어 있지 않습니다. 하는 경고창이 뜰 경우 설치CD를 넣어서 기능을 추가해주셔야 합니다.) 프로그램 추가 제거를 이용해 추가할 경우 다음 위치에서 추가하면 됩니다. 그리고 메뉴 상에서의 위치는 여기 실행하면 이런 복잡한 에디터가 나옵니다. 당황하지 마시구요. 다른 것은 건드릴 필요없이 Body lang뭐 이렇게 시작되는 구문을 찾아갑니다. .. 더보기
아웃룩과 구글 연동 회사에서 사용하는 일정(MS Outlook)과 Google 일정을 연동하기 위해서는어떻게 해야할까?. Google Calendar Sync 라는 프로그램을 이용하면 아웃룩과 구글의 일정을 동기화 해 준다. 그런데 연락처 동기화하려고 csv 편집하는 것도 귀찮으므로 Go Contact Sync 로 동기화하자. Google 계정, 비밀번호 넣고 profile 부분에 아무 이름이나 입력 후 sync만 클릭해 주면 된다. 간단한 설정법 http://knokio.com/guide/sync-gmail-contacts-and-google-calendar-with-outlook/ 더보기
S/W KVM Synergy - 하나의 키보드, 마우스로 컴 두대 마고자 한글 패치 : Synergy1.3.1.Korean_by_magoja.zip Synergy는 가상 KVM 프로그램입니다. 얼기 설기 엮어진 KVM의 커넥터들을 정리할 필요 없이, 네트워크상에서 키보드, 마우스를 공유할 수 있습니다. 프로그램 하나만 있으면 마우스를 2개 가지고 다닐 필요도 없고, KVM 스위치를 뭉탱이로 가지고 다닐 필요도 없어집니다. 무엇보다 책상이 넓어집니다. :) Synergy와 유사한 프로그램으로는 Multiplicity가 있습니다. 두 프로그램은 거의 유사한데 후자가 더 나은 성능을 보여줍니다. Multiplicity의 가장 큰 장점으로는 클립보드의 공유가 가능하다는 것인데 (Synergy도 지원하지만), 단순히 텍스트의 복사만이 아닌 파일까지 이동, 복사가 가능합니다. 마.. 더보기
신개념 프리젠테이션 Prezi [Prezi를 처음 보신 분을 위한 팁 몇가지] Prezi 처음 접하신 분들을 위하여, Prezi 사용을 추천드리기전에 몇가지 중요할 수 있는 정보들을 드리도록 하겠습니다. 1. 우선 한글이 안됩니다. 그게 위에서 제가 Prezi 프리젠테이션을 영어로 작성한 이유입니다. 나중에 한글도 입력이 되면 좋겠지만, 현재 그런 계획은 없는 것 같아보입니다. 나는 영어 자신없다. 그래도 Prezi로 만들고 싶다 하는분은 다음 두가지 방법중 하나를 사용해야 할 겁니다. 한글로 작성한 내용을 캡쳐해서 이미지로 올리는 방법이 있습니다. 실제 그렇게 하신 분들도 있다고 하는데, 근데 사실 꽤나 노가다이고 용량도 많이 잡아 먹겠지요. Google translate (translate.google.co.kr)을 이용해서 한글.. 더보기
Caller ID Software, Visual Basic Microsoft Visual Basic Software DownloadNOTE:This is an actual working version. For the program to work as intended you need an Identifier, Visual Basic 6.0, and Caller ID service from your telephone company. These download files contains a Microsoft Visual Basic project file (Identifier.vbp) and form file (Identifier.frm). You must have enough experience with Visual Basic to know what to do wit.. 더보기
Caller ID, MSCOMM32.OCX MSComm Control Sample Code: MSCOMM32.OCX MSComm Control Visual Basic Programmer's Guide to Serial Communications You have just landed on a very old web page. All I did was copy the VB4 help file on the MSComm32.ocx and put it here back in 1996. I cannot believe how popular this page is with over 100,000 page views since it was created. Still getting over 6000 visitors a month. And is the number one Google resu.. 더보기
MCP3906 - 2Diff 16/24-bit SD A/D http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en520559 http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en545586 2 simultaneously sampled 16/24-bit resolution delta-sigma A/D converters 91 dB SINAD, -104 dBc THD, 109 dB SFDR Programmable data rate up to 64 ksps Internal voltage reference with low drift of 12 ppm/°C Intern.. 더보기
TC514 / TC534(단종) - 4Ch ADC 적분형 • Precision (up to 17-Bits) A/D Converter • 3-WireSerialPort • Flexible: User Can Trade Off Conversion Speed For Resolution • Single Supply Operation • -5VOutputPin • 4 Input, Differential Analog MUX (TC534) • Automatic Input Polarity and Overrange Detection • Low Operating Current: 5mA Max • Wide Analog Input Range: ±4.2V Max 더보기
MCP2502X/5X - CAN I/O Expander Family • Implements CAN V2.0B - Programmable bit rate up to 1 Mb/s - 1 programmable mask - 2 programmable filters - 3 auto-transmit buffers - 2 message reception buffers - Does not require synchronization or configuration messages - Non-volatile memory for user configuration - User configuration automatically loaded on power-up - 8 GPIO - Individually selectable transmit-on-pin change for each input - .. 더보기
TC9400 - FVC - Choice of Guaranteed Linearity: TC9401...............0.01% TC9400...............0.05% TC9402...............0.25% - DC to 100 kHz (F/V)or 1Hz to 100kHz (V/F) - Low Power Dissipation: 27mW Typ - Single/Dual Supply Operation: +8V to +15V or ± 4V to ± 7.5V - Gain Temperature Stability: ± 25 ppm/°C Typ. - Programmable Scale Factor 더보기
Sample 요청할 Part 및 전략 MCP2200 - USB 2.0 to UART Protocol Converter with GPIO TC9400 - FVC 캡스톤 디자인 공모전 : 3,4개월 이내, 부품 지원 http://www.devicemart.co.kr/mart7/inc.php?inc=event/100607 개발보드 대여 서비스 제품 회로도 카피 서비스 부품은 샘플로 조달 devicemart에 기사 객원기자 더보기
MCP2200 - USB 2.0 to UART Protocol Converter with GPIO • Supports full-speed USB (12 Mb/s) • Implements USB protocol composite device CDC device for communications, configuration and I/O control • 128 byte buffer to handle data throughput at any UART baud rate: - 64byte transmit - 64 byte receive • Fully configurable VID and PID assignments, and string descriptors • Bus powered or self-powered • USB 2.0 Compliant (certification #: TBD) • Uses standa.. 더보기
VB안깔린 곳에서 인스톨 없이 실행시키기 참조된 혹은 추가구성된 OCX나 DLL등의 모듈파일들을 실행파일이 있는 폴더에 같이 싸잡아 넣습니다. 그리고 VB런타임 파일을 넣어야 겠죠. 제가 넣는 런타임 모듈 파일은 다음과 같습니다. msvbvm60.dll - 이것이 VB런타임 모듈입니다. VB6.OLB - 이건 뭔지 모르겠습니다. 걍 있길래.. VB6KO.DLL - VB6 한글 거시기한 파일입니다. ASYCFILT.DLL - 이것이 상당히 중요한데 위 3파일을 넣어도 VB가 안깔린 컴에선 실행이 안되죠. 근데 이파일 넣으면 됩니다. 참고로 위 4파일은 VB가 깔린 컴이라면 시스템 폴더에 다 있습니다. 또 참고.. 레지등록시키는 파일로 ocx등록하는 경우가 있는데 저의 경우 그짓안해도 잘되더군요. 더보기
습도 계산 방식 습도 계산하는 여러가지 방식 조회(618) f) 공기중의 혼합비 계산식 X=0.622e/(P-e) X: 공기의 혼합비 e: 수증기의 압력 P: 공기의 압력 e와 P는 같은 단위로 나타낼 것 0.622 …… 수증기의 비중으로 아래식에 의해 계산한다. ε=Mv/Md = 0.622 Mv: 수증기의 분자량=18.016 Md: 건조기체의 분자량=28.966 공기 이외의 기체중 수증기의 혼합비를 구하려면 위식의 우변을 기체의 비중(공기에 대한)으로 나누면 된다. g) 공기의 비습 계산식 S=0.622 e/(P-0.378e) S: 공기의 비습 e: 기체의 수증기압 P: 공기의 압력 h) 포화절대습도 계산식 Ds =804es/[Pt(1+0.00366t)] Ps: 포화절대습도(g/㎥) es: 포화수증기압 Pt: 표준 1.. 더보기
AVR Fuse bit CKSEL [0..3] = 1 SUT[0..1] = 1BootEN = 0BootLevel = 1Boot RST = 1Boot Size = "00"EESAVE = 0CKOPT = 0JTAGEN = 0OCDEN = 1WDTON = 1M103C = 1 Memory Lock Bit & Fuse Bit 설정스나군http://digitalab.paichai.ac.kr/?document_srl=843572008.01.14 00:44:49 (*.222.238.187)16161 / 00http://digitalab.paichai.ac.kr/?document_srl=%241 광운대학교 표윤석님의 자료입니다. 원본글 : http://cafe.naver.com/robit/42 우리는 아래 그림과 같은 설정 화면을 많이 봤을 .. 더보기
Grid Control 1.MSFle11. Grid 컨트롤과 MSHFlexGrid 컨트롤 ♠ MSFlexGrid 컨트롤, MSHFlexGrid 컨트롤 ▶ 표형식의 데이터를 다루는 컨트롤. ▶ 문자열과 그림이 수록된 표를 유연성있게 정렬하거나 병 합할 수 있음 ▶ 두컨트롤은 사용법이 거의 유사하지만, MSHFlexGrid은 MSFlexGrid 컨트롤보다 개선된 컨트롤로서 데이터베이스 를 다루는데 더 편리하도록 구성되어 있음 1.1. 속성 1.1 페이지를 사용하여 속성 설정하기 MSFlexGrid 컨트롤의 우측 팝업메뉴에서 [속성] 메뉴를 선택 ♠ 속성페이지의 일반 탭에서의 속성 Rows와 Cols - 표의 가로행과 세로줄의 수 FixedRows와 FixedCols - 고정행과 고정열의 수 AllowResizing 속성 - 세로열.. 더보기
IAR Visual State UML 기반 스테이트 챠트로 코드 생성 - IAR Workbech와 링크 더보기