日韩一区二区三区精品,欧美疯狂xxxxbbbb牲交,热99re久久免费视精品频,人妻互换 综合,欧美激情肉欲高潮视频

歷史上的今天

今天是:2025年06月15日(星期日)

2021年06月15日 | 采用MSP430地址位多機(jī)協(xié)議通訊程序

發(fā)布者:bonbono 來源: eepw關(guān)鍵字:MSP430  地址位 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

/*
采用MSP430地址位多機(jī)協(xié)議通訊程序
微控論壇原創(chuàng)作品 作者:tianxy
各位同仁,響應(yīng)版主號(hào)召,現(xiàn)就"愛好者"同志提出的<<關(guān)于UART的地址位多機(jī)通訊>>做出本人的見解.希望大家多多指點(diǎn).
在 430串口發(fā)送格式中,我們可以看到.一個(gè)字節(jié)由1個(gè)起始位+7位或8位數(shù)據(jù)位+校驗(yàn)位+1位或2位停止組成.如果要使用
430的地址位多機(jī)協(xié)議.主要是將UxCTL寄存器中的MM位置1,同時(shí)將UxRCTL寄存器中的URXWIE置1.
例程如下:
上位機(jī)先用Mark校驗(yàn)方式.格式為:1個(gè)起始位+8位數(shù)據(jù)位+1位校驗(yàn)位+1位停止位.
發(fā)送5個(gè)字節(jié):0x02(地址號(hào)) 0x05(命令字節(jié)) 0x00(預(yù)留字節(jié)) 0x07(累加和校驗(yàn)低字節(jié)) 0x00(累加和校驗(yàn)高字節(jié))
單片機(jī)接收程序如下,同時(shí)將收到的數(shù)據(jù)再返回給上位機(jī).
程序中所使用的變量.請(qǐng)自行定義.有標(biāo)注說明.

Microcontrol CODE
*/
void COM_Init(void)
{
//---------------------------------串口初始化函數(shù)
U0CTL &= ~SWRST;
U0TCTL&=~TXWAKE;
U0CTL|=CHAR+MM;//8bit+地址位多機(jī)協(xié)議
IFG1&=~(URXIFG0+UTXIFG0);//接收,發(fā)送中斷標(biāo)志清零
ME1|=(UTXE0+URXE0); //使能接收和發(fā)送中斷
U0TCTL|=SSEL0+SSEL1; //時(shí)鐘選擇--MCLK
UBR10=0x04;//6M/4800
UBR00=0xe2;
UMCTL0=0x00;//波特率調(diào)整控制
IE1|=URXIE0;//使能接收中斷
URCTL0|=URXWIE;//只有收到地址字符時(shí)才永許中斷
}

#pragma vector=USART0RX_VECTOR//接收中斷處理
__interrupt void USART0RX(void)
{
// addr為本機(jī)地址號(hào)
unsigned char date,date1;
_EINT();
if((URCTL0&0x21)==BIT0)//RXERR
{
//出現(xiàn)錯(cuò)誤且該錯(cuò)誤非溢出引起
URCTL0=URXWIE;//只有收到地址字符時(shí)才允許中斷
ought_receive=0;//應(yīng)接收個(gè)數(shù)變量
mling_flag=0; //命令標(biāo)志變量
order=0;//命令變量
date=RXBUF0;
}
else
{
date=RXBUF0;
URCTL0&=~RXERR;//接收錯(cuò)誤清零
if(URCTL0&URXWIE)//接受到地址位否?
{
if(date==addr)
{
URCTL0&=~URXWIE;
jieshou_ljh=date;
}

order=0;
ought_receive=0;
mling_flag=0;
}
else//接受命令、數(shù)據(jù)
{
date1=date;
if((mling_flag&0x01)==0x00)
{
order=date;
jieshou_ljh+=date;//計(jì)算累加和
switch(date)
{
case 0x05://命令
ought_receive=3;//除命令字節(jié)外還要接收3個(gè)字節(jié)
fmaddr=0;
mling_flag|=0x01;//已收到命令字節(jié),下一字節(jié)應(yīng)為數(shù)據(jù)
break;

default:
URCTL0=URXWIE;
ought_receive=0;
order=0;
mling_flag=0;
jieshou_ljh=0;
P2OUT&=~BIT7;
break;
}
}
else
{
if(ought_receive==0)//接收出錯(cuò)
{
URCTL0|=URXWIE;//只有收到地址字符時(shí)才永許中斷
date1=RXBUF0;
P2OUT&=~BIT7;//RS485 控制信號(hào)
jieshou_ljh=0;
order=0;
mling_flag=0;
}
else
{
if(ought_receive==2)//收到累加和的低位
{
ought_receive=1;
txy=date;
}
else if(ought_receive==1)//收到累加和的高位,表示接收完畢,可以處理并發(fā)送數(shù)據(jù)
{
P2OUT|=BIT7;//RS485 控制信號(hào)
ought_receive=0;
date1=(unsigned char)txy;//計(jì)算累加和.
txy=(unsigned int)date;
txy<<=8;
txy|=date1;
_NOP();
if(jieshou_ljh==txy)
{
IE1&=~URXIE0;//關(guān)閉接收中斷
ME1|=UTXE0;//USART0允許發(fā)送數(shù)據(jù)
UTCTL0|=TXWAKE;//USART0發(fā)送地址位
ME1|=UTXE0;//USART0允許發(fā)送
IFG1&=~(UTXIFG0+URXIFG0);
TXBUF0=addr;//--------------------------------------------------------地址
while((UTCTL0&BIT0)==0);//當(dāng)發(fā)送空時(shí),TXEPT=1
TXBUF0=order;//--------------------------------------------------------命令
while((UTCTL0&BIT0)==0);//當(dāng)發(fā)送空時(shí),TXEPT=1
TXBUF0=0x00;//--------------------------------------------------------預(yù)留
while((UTCTL0&BIT0)==0);//當(dāng)發(fā)送空時(shí),TXEPT=1
TXBUF0=0x07;//--------------------------------------------------------累加和低
while((UTCTL0&BIT0)==0);//當(dāng)發(fā)送空時(shí),TXEPT=1
TXBUF0=0x00;//--------------------------------------------------------累加和高
while((UTCTL0&BIT0)==0);//當(dāng)發(fā)送空時(shí),TXEPT=1
ME1&=~UTXE0;//開始下一次數(shù)據(jù)幀接收
ME1|=URXE0;
IE1&=~(UTXIE0+URXIE0);
IFG1&=~(UTXIFG0+URXIFG0);
ought_receive=0;
jieshou_ljh=0;
URCTL0=URXWIE;
IE1|=URXIE0;
mling_flag=0;
P2OUT&=~BIT7;//轉(zhuǎn)為收
}
}
else if(ought_receive>2)
{
ought_receive--;
jieshou_ljh+=date;//計(jì)算累加和.
receive_buf[fmaddr]=date;//數(shù)據(jù)存放數(shù)組
fmaddr++;
}
}
}
}
}
}

關(guān)鍵字:MSP430  地址位 引用地址:采用MSP430地址位多機(jī)協(xié)議通訊程序

上一篇:關(guān)于MSP430單片機(jī)的大數(shù)組初始化
下一篇:MSP430 SPI接口(模式)通信

推薦閱讀

1.使能SYSCFG時(shí)鐘 系統(tǒng)配置時(shí)鐘 RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG,ENABLE) 2.初始化IO口為輸入 GPIO_INIT 3.設(shè)置IO口與中斷線之間的關(guān)系 所謂IO口與中短線 f4中有16個(gè)IO中斷線,PXn 連接的是 EXITn的中斷線 比如現(xiàn)在我要想把 PF9的中斷線進(jìn)行連接,只可以連接EXIT9這個(gè)中斷 使用函數(shù)SYSYCFG_EXTLineConfig() 4.初始化線上中斷,設(shè)置觸發(fā)...
  第十三屆國(guó)際太陽能光伏與智慧能源展覽會(huì)(SNEC)已于6月6日?qǐng)A滿落幕,恒動(dòng)新能源在此期間展出了適用于儲(chǔ)能的高安全磷酸鐵鋰電池、高體積能量密度的儲(chǔ)能機(jī)柜,吸引諸多國(guó)內(nèi)外客戶到場(chǎng)洽談,收獲頗豐。   在本次展會(huì),恒動(dòng)新能源首次展出含14個(gè)模組的儲(chǔ)能機(jī)柜,該儲(chǔ)能機(jī)柜總電量達(dá)64.5KWh,主要應(yīng)用于“光儲(chǔ)充”一體化電站、小型工業(yè)微網(wǎng)儲(chǔ)能等場(chǎng)...
援引外媒報(bào)道,華碩的游戲手機(jī) ROG Phone 3 有望在下月發(fā)布。此前該機(jī)已經(jīng)通過了 Wi-Fi 聯(lián)盟的認(rèn)證,并已經(jīng)現(xiàn)身 GeekBench 跑分庫,現(xiàn)在該機(jī)又出現(xiàn)在歐亞經(jīng)合組織(EEC)的認(rèn)證網(wǎng)站上,同時(shí)獲得認(rèn)證的還有相關(guān)的兼容配件?! 「鶕?jù) EEC 官網(wǎng)認(rèn)證信息顯示,該機(jī)型號(hào)為 ZS661KS。雖然在認(rèn)證文件中并沒有透露太多有關(guān)于該機(jī)的規(guī)格信息,但表示這款...
簡(jiǎn)介從5G到工業(yè)應(yīng)用,隨著收集、傳送和存儲(chǔ)的數(shù)據(jù)越來越多,也在不斷擴(kuò)大模擬信號(hào)處理器件的性能極限,有些甚至達(dá)到每秒千兆采樣。由于創(chuàng)新的步伐從未放緩,下一代電子解決方案將使解決方案體積進(jìn)一步縮少,電源效率持續(xù)提高,并對(duì)噪聲性能提出更高的要求。人們可能認(rèn)為應(yīng)當(dāng)最大限度地減少或隔離各電源域(模擬、數(shù)字、串行數(shù)字和數(shù)字輸入輸出(I/O))中產(chǎn)...

史海拾趣

問答坊 | AI 解惑

基于無刷電機(jī)伺服的數(shù)控雕刻機(jī)系

利用無刷電機(jī)作為驅(qū)動(dòng)元件,以 %&’作為控制芯片,實(shí)現(xiàn)了對(duì)數(shù)控雕刻機(jī)的伺服驅(qū)動(dòng)與控制。測(cè)試結(jié)果表明,基于無刷電機(jī)的數(shù)控雕刻機(jī)克服了傳統(tǒng)伺服電機(jī)的不利因素,控制簡(jiǎn)單,伺服精度高,并具有很高的運(yùn)行速度,有效提高了雕刻機(jī)的工作效率…

查看全部問答∨

ARM內(nèi)核的理解

我有點(diǎn)不理解,ARM硬件內(nèi)核我看過資料,有一點(diǎn)了解,但軟件內(nèi)核有l(wèi)inux為什么還要自已做內(nèi)核呢?…

查看全部問答∨

DSP硬件設(shè)計(jì)的一些注意事項(xiàng)

時(shí)鐘電路選擇原則 1,系統(tǒng)中要求多個(gè)不同頻率的時(shí)鐘信號(hào)時(shí),首選可編程時(shí)鐘芯片; 2,單一時(shí)鐘信號(hào)時(shí),選擇晶體時(shí)鐘電路; 3,多個(gè)同頻時(shí)鐘信號(hào)時(shí),選擇晶振; 4,盡量使用DSP片內(nèi)的PLL,降低片外時(shí)鐘頻率,提高系統(tǒng)的穩(wěn)定性; 5,C6000、C5510、C5409A、C54 ...…

查看全部問答∨

PC(windowsXP)錄音,如何在ARM9板子上播放?

我在PC機(jī)下進(jìn)行錄音,然后通過TCP/IP傳送到ARM9板子(WinCE6.0操作系統(tǒng),UDA1380音頻編解碼芯片)上進(jìn)行播放,但是播放不了。用的都是wave系列操作函數(shù)。 我錄音和放音的設(shè)置都是:         waveform.wFormatTag=W ...…

查看全部問答∨

怎樣顯示CELLTSP.dll里面的調(diào)試信息?

我現(xiàn)在調(diào)試RIL驅(qū)動(dòng),ril proxy的調(diào)試信息可以通過修改注冊(cè)表打印出來。 但CELLTSP不知怎樣顯示出來,因?yàn)镃ELLTSP沒有源代碼的,如果不用DEBUG模式,怎樣才能顯示CELLTSP的調(diào)試信息? …

查看全部問答∨

語音芯片ISD4002如何分段,如何確定每一段開始的地址

語音芯片ISD4002如何分段,如何確定每一段開始的地址…

查看全部問答∨

str71x的定時(shí)器中斷服務(wù)例子

                                  …

查看全部問答∨

金剛狼功耗到底有多低

上次發(fā)了金剛狼開發(fā)板的諜照,現(xiàn)在已被證實(shí)確實(shí)為金鋼狼的官方開發(fā)板。鏈接:https://bbs.eeworld.com.cn/thread-321290-1-1.html在最近的一次視頻中展示,得到了該開發(fā)板正常工作的功耗截圖?!?

查看全部問答∨

MSP-EXP430FR5739 應(yīng)用(2)

     考慮到FR5739的鐵電存儲(chǔ)功能和3 軸加速計(jì)模塊,可以做一個(gè)可以斷電保存的記步器,通過對(duì)加速度計(jì)的數(shù)據(jù)做一定的計(jì)算和處理可以做一款計(jì)步器,在現(xiàn)有模塊的基礎(chǔ)上需要增加一塊LCD,做簡(jiǎn)單的顯示,同時(shí)由于可以掉電保存,還可以 ...…

查看全部問答∨

求解決方案

物體S,在坐標(biāo)系內(nèi)自由運(yùn)動(dòng)(0…

查看全部問答∨
小廣播
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved