色yeye在线视频观看_亚洲人亚洲精品成人网站_一级毛片免费播放_91精品一区二区中文字幕_一区二区三区日本视频_成人性生交大免费看

當(dāng)前位置:首頁(yè) > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 講師博文 > IPV6 電位器實(shí)驗(yàn)

IPV6 電位器實(shí)驗(yàn) 時(shí)間:2018-09-20      來源:未知

【實(shí)驗(yàn)?zāi)康摹?/p>

熟悉contiki 操作系統(tǒng)

熟悉Ipv6 的通信協(xié)議

通過本實(shí)驗(yàn)掌握stm32w108的ADC使用方法

【實(shí)驗(yàn)環(huán)境】

Ipv6蜂鳴器控制模塊

VMware 虛擬機(jī)

PC機(jī) XP、Window7/8

【實(shí)驗(yàn)內(nèi)容】

6.UI Thread UI線程。管理和更新UI。

編寫電位器的ADC程序,實(shí)現(xiàn)定時(shí)(4秒)向server端發(fā)送ADC采集的數(shù)據(jù)。

【實(shí)驗(yàn)原理】

圖 電位器原理圖

有原理圖可知,電位器的引腳與STM32W108的PA_5引腳相連,查找芯片手冊(cè)ADC章節(jié),可知PC_5引腳對(duì)應(yīng)的ADC5通道。慢慢的滑動(dòng)電位器,使得PA_5引腳上的電壓時(shí)發(fā)生變化,電壓變化和AD值變化成正比。

【實(shí)驗(yàn)步驟】

打開VMware虛擬軟件,打開Ubuntu鏡像,進(jìn)入Vi下的contiki-2.7-stm目錄文件夾,執(zhí)行l(wèi)s命令。

進(jìn)入繼電器源碼文件,路徑如下:

/home/user/songl/contiki-2.7-stm/contiki-2.7-stm/examples/mbxxx/rpl-udp-VR

接著你只需打開udp-VR-client.c和udp- VR -server.c兩個(gè)文件,修改他們之間的通信協(xié)議。

【編譯程序】

執(zhí)行命令:

./build.sh

會(huì)生成udp- VR -server.bin和udp- VR -client.bin兩個(gè)bin文件。

連接設(shè)備如下(請(qǐng)參照本章節(jié)驅(qū)動(dòng)安裝及程序燒寫下的“鏡像燒寫”),注意任何模塊都可以作為服務(wù)端的底板,只需燒寫server程序即可。這里運(yùn)用繼電器模塊做服務(wù)端。

燒寫程序:

服務(wù)端(M3網(wǎng)關(guān))燒寫 udp-VR-server.bin。

客戶端(電位器)燒寫 udp-VR-client.bin

上圖M3網(wǎng)關(guān)模塊連接到PC機(jī)上,打開串口調(diào)試。查看服務(wù)端接收到的數(shù)據(jù)。分析數(shù)據(jù)的內(nèi)容是否正確。

【實(shí)驗(yàn)結(jié)果】

利用串口調(diào)試工具做實(shí)驗(yàn),打開串口調(diào)試工具,波特率115200、串口號(hào)(你的電腦的端口號(hào))、點(diǎn)擊打開。

注意:要先把模塊的開關(guān)打開,等到串口上有數(shù)據(jù)后,用手撥動(dòng)電位器,這時(shí)觀察串口調(diào)試助手的數(shù)據(jù)信息。讀到的AD值在上升。說明電位器的分的電壓值也在上升。

接收到的數(shù)據(jù)如下:

可以通過串口發(fā)送21 49 07 FE 56 00 0B B0 00 00 23 7E控制繼電器的開。

21 49: 為字符‘!I’

07 FE :設(shè)備地址 注意:07 為低八位地址,F(xiàn)E為高八位地址

56 :設(shè)備類型 ‘V’ ,是電位器

00 0B B0: ADC的數(shù)據(jù)值:12位AD值0B為高四位,B0為低8位。

23:當(dāng)前電量

7E:校驗(yàn)和。

【實(shí)驗(yàn)參考代碼】

PROCESS_THREAD(udp_client_process, ev, data)

{

uint8_t result = 0;

uint8_t i = 0;/p>

txbuf[0] = '!';

txbuf[1] = 'I';

txbuf[2] = addresses_L;

txbuf[3] = addresses_H;

txbuf[4] = 'V';

PROCESS_BEGIN();

PROCESS_PAUSE();

// GPIO_DBGCFG |= (1<<5);

set_global_address();

PRINTF("UDP client process started\r\n");

print_local_addresses();

/* new connection with remote host */

client_conn = udp_new(NULL, UIP_HTONS(UDP_SERVER_PORT), NULL);

if(client_conn == NULL) {

PRINTF("No UDP connection available, exiting the process!\r\n");

PROCESS_EXIT();

}

udp_bind(client_conn, UIP_HTONS(UDP_CLIENT_PORT));

PRINTF("Created a connection with the server ");

PRINT6ADDR(&client_conn->ripaddr);

PRINTF(" local/remote port %u/%u\r\n",UIP_HTONS(client_conn->lport), UIP_HTONS(client_conn->rport));

etimer_set(&et_send,CLOCK_SECOND/2);

while(1) {

PROCESS_YIELD();

if(ev == tcpip_event) {

tcpip_handler();

#if 0

if(rxlen == 7)

{

if(rxbuf[0] == '#' && rxbuf[1] == 'C'&& rxbuf[2] == 'I' && rxbuf[3] == 'r' && rxbuf[4] ==addresses_H && rxbuf[5] == addresses_L)

{

if((rxbuf[6] - '0') == Relay_on)

{

halGpioSet(PORTx_PIN(PORTC,2),1);

PRINTF(" Open Relay\n");

flag = 1;

}

else if((rxbuf[6] - '0') == Relay_off)

{

halGpioSet(PORTx_PIN(PORTC,2),0);

PRINTF("Close Relay\n ");

flag = 0;

}

rxlen = 0;

}

}

#endif

}

#if 0

if(ev == serial_line_event_message) {

if(*((uint8_t *)data) == 0x90)

continue;

txbuf[count++] = *((uint8_t *)data);

if (count == 24) {

uip_udp_packet_sendto(client_conn, (char *)txbuf, 24,&server_ipaddr, UIP_HTONS(UDP_SERVER_PORT));

count = 0;

}

}

#endif

if(ev == PROCESS_EVENT_TIMER)

{

unsigned int temp = temperature_sensor.value(0);

txbuf[7] = temp;

txbuf[6] = temp >> 8;

for(i=0;i<(11-2);i++)

{

result ^= txbuf[i+1];

}

txbuf[10] = result;

uip_udp_packet_sendto(client_conn, (char *)txbuf, 11,&server_ipaddr, UIP_HTONS(UDP_SERVER_PORT));

result = 0;

etimer_reset(&et_send);

}

}

PROCESS_END();

}

Client 向服務(wù)器發(fā)送數(shù)據(jù),主要用到etimer事件PROCESS_EVENT_TIMER,etimer_set(&et_send,CLOCK_SECOND*4)設(shè)置需要的時(shí)間;默認(rèn)CLOCK_SECOND 1000 毫秒,也就是說每個(gè)4秒就會(huì)產(chǎn)生一個(gè)PROCESS_EVENT_TIMER事件。因此四秒發(fā)送一次設(shè)備狀態(tài)數(shù)據(jù)。

上一篇:linux中的熱插拔和mdev機(jī)制

下一篇:電子方面基礎(chǔ)知識(shí)—基本安裝

熱點(diǎn)文章推薦
華清學(xué)員就業(yè)榜單
高薪學(xué)員經(jīng)驗(yàn)分享
熱點(diǎn)新聞推薦
前臺(tái)專線:010-82525158 企業(yè)培訓(xùn)洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠(yuǎn)見科技集團(tuán)有限公司 版權(quán)所有 ,京ICP備16055225號(hào)-5京公海網(wǎng)安備11010802025203號(hào)

回到頂部

主站蜘蛛池模板: 亚洲更新最快无码视频 | 老熟女乱之仑视频 | 精品亚洲欧美视频在线观看 | 日韩乱码人妻无码系列中文字幕 | 最近国产精品视频 | 成人午夜爽A片免费视频 | 国产台湾无码av片在线观看 | 性生交裸片免费看 | 国产一区二区三区无码免费 | 最近在线更新8中文字幕免费 | 色综合天天综合网无码在 | 美女光胸无遮挡18禁止观看 | 国产成人资源 | 欧美gv在线 | 日本啪啪网站永久免费 | 中文字幕第10页 | 一二三四在线视频观看社区 | 中文字幕无码精品亚洲资源网久久 | 亚洲精品一区二区三区无码夜色 | 欧美欲妇xxxxx | 最近中文字幕高清中文字幕无 | 猫咪最新永久在线网站 | 国内外精品成人免费视频 | 欧美国产日韩一区在线观看 | 超级黄色一级片 | 日日躁你夜夜躁你av蜜 | 熟女俱乐部五十路六十路av | 一本色道久久HEZYO无码 | 女人A级毛片19毛水真多 | 无码永久免费AV网站不卡 | 在线免费观看日本欧美 | 亚洲AV无码乱码国产精品久久 | 无码被窝影院午夜看片爽爽JK | 亚洲龙腾成小说人网 | 蜜桃av在线播放 | 国产XXXX99真实实拍 | 成人欧美一区二区三区视频 | 欧美va在线视频 | 国产AV巨作丝袜秘书 | 中日韩欧美一级片 | 天堂在线WWW天堂中文在线 |