當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]整了一天程序,寫了個(gè)上位機(jī)程序和單片機(jī)程序??偨Y(jié)下。。。上位機(jī)部分:相關(guān)參考資料:http://wenku.baidu.com/view/5ea8670403d8ce2f00662322.html1.先添加各控件,添加后的對(duì)話框如下圖:2.再添加對(duì)應(yīng)的成員變量。

整了一天程序,寫了個(gè)上位機(jī)程序和單片機(jī)程序??偨Y(jié)下。。。

上位機(jī)部分:

相關(guān)參考資料:http://wenku.baidu.com/view/5ea8670403d8ce2f00662322.html

1.先添加各控件,添加后的對(duì)話框如下圖:

2.再添加對(duì)應(yīng)的成員變量。

3.最后添加函數(shù)(事件處理函數(shù))。

3.1初始化,設(shè)置串口各參數(shù)。

BOOLCLedControlDlg::OnInitDialog(){CDialog::OnInitDialog();// 設(shè)置此對(duì)話框的圖標(biāo)。當(dāng)應(yīng)用程序主窗口不是對(duì)話框時(shí),框架將自動(dòng)// 執(zhí)行此操作SetIcon(m_hIcon, TRUE); // 設(shè)置大圖標(biāo)SetIcon(m_hIcon, FALSE); // 設(shè)置小圖標(biāo)// TODO: 在此添加額外的初始化代碼m_ctrlComm.put__CommPort(5); //選擇com3m_ctrlComm.put_InputMode(1); //以二進(jìn)制方式輸入m_ctrlComm.put_InBufferSize(1024);m_ctrlComm.put_OutBufferSize(512);//設(shè)置串口,波特率115200,無校驗(yàn)位,數(shù)據(jù)位8,停止位1m_ctrlComm.put_Settings(_T("115200,n,8,1"));//參數(shù)1表示當(dāng)接受緩沖區(qū)有多于等于1個(gè)字符//引發(fā)OnCommm_ctrlComm.put_RThreshold(1);if(!m_ctrlComm.get_PortOpen()){m_ctrlComm.put_PortOpen(TRUE);//打開串口}m_ctrlComm.put_InputLen(0); //設(shè)置當(dāng)前緩沖區(qū)為0m_ctrlComm.get_Input(); //先預(yù)讀緩沖區(qū)returnTRUE; // 除非將焦點(diǎn)設(shè)置到控件,否則返回 TRUE}

3.2處理串口發(fā)來的數(shù)據(jù)。

voidCLedControlDlg::OnComm(){// TODO: 在此處添加消息處理程序代碼VARIANT variant_inp;COleSafeArray safearray_inp;LONGlen,k;BYTErxdata[2048]; //設(shè)置BYTE數(shù)組 An 8-bit integerthat is not signed.CString strtemp;if(m_ctrlComm.get_CommEvent()==2) //事件值為2表示接收緩沖區(qū)內(nèi)有字符{ ////////以下你可以根據(jù)自己的通信協(xié)議加入處理代碼variant_inp=m_ctrlComm.get_Input(); //讀緩沖區(qū)safearray_inp=variant_inp; //VARIANT型變量轉(zhuǎn)換為ColeSafeArray型變量len=safearray_inp.GetOneDimSize(); //得到有效數(shù)據(jù)長度for(k=0;k 3.3串口發(fā)送數(shù)據(jù)出去。

voidCLedControlDlg::OnButtonManualsend(){// TODO: 在此添加控件通知處理程序代碼UpdateData(true);m_ctrlComm.put_Output(COleVariant(m_strEditTXData));UpdateData(false);}

單片機(jī)部分:

#include #include #include #include //標(biāo)準(zhǔn)函數(shù)#include //I/O口函數(shù)#define _Nop() _nop_()#define uchar unsigned char#define uint unsigned int#define LEDCTL0Low P4&=~0x01;#define LEDCTL0High P4|=0x01;#define LEDCTL1Low P4&=~0x02;#define LEDCTL1High P4|=0x02;#define LEDCTL2Low P4&=~0x04;#define LEDCTL2High P4|=0x04;#define LEDCTL3Low P4&=~0x08;#define LEDCTL3High P4|=0x08;//--------------------------------------------------------------------// 全局常量//--------------------------------------------------------------------#define SYSCLK 22118400 // SYSCLK frequency in Hz#define BAUDRATE 115200 // Baud rate of UART in bps#define MAX_LEN 50 //receive buf MAX lengthuchar readCounts;uchar trdata[MAX_LEN] = {'0', '0', '0', '0'}; //四個(gè)LED數(shù)碼管初始顯示都為0uchar sendlen;uchar message[]="Receive Buf is full";bit readFlag;bit frameFlag;chardata SFRPAGE_SAVE;uchar code LEDSEG1[]= {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xc6,0X89};//0~9,C,H,正uchar code LEDSEG2[]= {0xC0,0xCF,0xA4,0x86,0x8B,0x92,0x90,0xC7,0x80,0x82,0xF0,0X89};//0~9,C,H,倒//--------------------------------------------------------------------//函數(shù)聲明//--------------------------------------------------------------------voidSYSCLK_Init (void);voidPORT_Init(void);voidUART0_Init(void) ;voidSend_Char(uchar ch) ;voidsend_string_com(unsigned char*str,unsigned intstrlen);voiddisplay(unsigned char*str);voidDelay(uint tt);//--------------------------------------------------------------------// 主函數(shù)//--------------------------------------------------------------------voidmain (void){WDTCN = 0xde;WDTCN = 0xad; //關(guān)閉WDTSYSCLK_Init ();PORT_Init();UART0_Init();EA=1;ES0=1;SFRPAGE = LEGACY_PAGE;while(1){if(frameFlag){frameFlag=0;send_string_com(trdata,sendlen);}display(trdata);}}//-----------------------------------------------------------------------------// 系統(tǒng)時(shí)鐘配置//-----------------------------------------------------------------------------voidSYSCLK_Init (void){inti = 0;//char SFRPAGE_SAVE = SFRPAGE; // Save Current SFR pageSFRPAGE = CONFIG_PAGE; // set SFR pageOSCXCN = 0x67; // start external oscillator with// 22.1184MHz crystalfor(i=0; i < 3000; i++) ; // XTLVLD blanking interval (>1ms)while(!(OSCXCN & 0x80)) ; // Wait for crystal osc. to settleCLKSEL = 0x01; //SYSCLK derived from the External Oscillator circuitOSCICN &= ~0x80; //Internal Oscillator Disabled}//-----------------------------------------------------------------------------// I/O配置//-----------------------------------------------------------------------------voidPORT_Init(){ SFRPAGE = CONFIG_PAGE; // set SFR page before writing

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉