7-51單片機(jī)ESP8266學(xué)習(xí)-AT指令(8266TCP服務(wù)器--用手機(jī)TCP調(diào)試助手發(fā)信息給單片機(jī)控制小燈的亮滅)

http://www.cnblogs.com/yangfengwu/p/8759294.html?如不做任何說明默認(rèn)最頭上的鏈接為上一篇鏈接,末尾的鏈接為下一篇鏈接



先把源碼和資料鏈接放到這里




鏈接:https://pan.baidu.com/s/10MxI8-Q33-M_R2WEHqEi1A密碼:j1sz



自己寫好了51采集DHT11的程序,在這個的基礎(chǔ)上一點(diǎn)一點(diǎn)的寫,對了,自己的這一系列的文章不是講很基礎(chǔ)很基礎(chǔ)的內(nèi)容,這一系列更注重于應(yīng)用,如果要學(xué)基礎(chǔ)的請等待自己的51單片機(jī)開發(fā)板的基礎(chǔ)教程...


第一步做的是配置好51單片機(jī)的指令

?咱們在單片機(jī)一起動的時候,先控制8266的復(fù)位引腳為低電平?讓模塊復(fù)位,等待3S后判斷串口接收的數(shù)據(jù)有沒有ready,

有的話就執(zhí)行下一步,沒有的話再讓模塊復(fù)位,一直這樣循環(huán).

然后發(fā)送AT+CIPMUX=1 啟動多連接,等待1S判斷是不是接收到OK,沒有接收到再發(fā)一次,如果超過三次,重新開始,接收到執(zhí)行下一步

然后發(fā)送AT+CIPSERVER=1,1001 啟動TCP服務(wù)器,等待1S判斷是不是接收到OK,沒有接收到再發(fā)一次,如果超過三次,重新開始,接收到執(zhí)行下一步


啟動服務(wù)器成功以后就進(jìn)入while(1) 循環(huán),

接收到數(shù)據(jù) ?0xaa,0x55,0x01,0x01 ?則發(fā)送自己的溫濕度數(shù)據(jù) ? 0xaa,0x55,溫度(16進(jìn)制表示),濕度(16進(jìn)制表示)

假設(shè) 接收到?0xaa,0x55,0x01,0x01 ? 溫度10度,濕度50% ? ? ??0xaa,0x55,,0x01,0x0a,0x32?

這一節(jié)不加任何的校驗(yàn)位,后期再加

接收到數(shù)據(jù) ?0xaa,0x55,0x02,0x00 ? 控制小燈熄滅

接收到數(shù)據(jù) ?0xaa,0x55,0x02,0xff ? ? 控制小燈點(diǎn)亮

APP端也不做任何的回復(fù)判斷什么的,力求做的簡單易懂

先做單片機(jī)端,數(shù)據(jù)回復(fù)先用串口助手模擬.....


先打好底




設(shè)置控制8266復(fù)位的引腳為P1_0;

#ifndef ESP8266_H_#defineESP8266_H_#ifndef ESP8266_C_#defineESP8266_C_ extern#else#defineESP8266_C_#endifsbit ESPRst = P1^0;#endif


咱們呢直接在主函數(shù)里面寫,



void main()

{

? ? InitUART(115200);

? ? InitTimer0();


? ? start:


? ? /*下面的都是一樣的模子,注釋就寫一個*/? ? Cnt =0;

? ? while(1)

? ? {

? ? ? ? printf("8266RST\r\n");//這個不是什么指令,我先用串口調(diào)試助手模擬看一下發(fā)了這條信息,然后我回它P0_0 =1;//這個燈作為指示燈,發(fā)送個指令就亮,ESP_Rst();//復(fù)位8266DelayMs(3000);//等待3Sif(UsartFlage ==1)//串口接收到數(shù)據(jù)? ? ? ? {

? ? ?     UsartFlage =0;

? ? ? ? ? ? if(strstr(UsartReceive,"ready"))//有沒有ready? ? ? ? ? ? {

? ? ? ? ? ? ? ? P0_0 =0;//接收到正確的回復(fù)就滅DelayMs(500);

? ? ? ? ? ? ? ? break;

? ? ? ? ? ? }

? ?   }

? ? ? ? Cnt ++;

? ? ? ? if(Cnt>=3)//超過三次重新開始? ? ? ? {

? ? ? ? ? goto start;

? ? ? ? }

? }


? ? Cnt =0;

? ? while(1)

? ? {

? ? ? ? printf("AT+CIPMUX=1\r\n");//啟動多連接P0_0 =1;

? ? ? ? DelayMs(1000);

? ? ? ? if(UsartFlage ==1)

? ? ? ? {

? ? ? ? ? ? UsartFlage =0;

? ? ? ? ? ? if(strstr(UsartReceive,"OK"))

? ? ? ? ? ? {

? ? ? ? ? ? ? ? P0_0 =0;

? ? ? ? ? ? ? ? DelayMs(500);

? ? ? ? ? ? ? ? break;

? ? ? ? ? ? }

? ? ? }

? ? ? ? Cnt ++;

? ? ? ? if(Cnt>=3)

? ? ? ? {

? ? ? ? ? goto start;

? ? ? ? }

? ? }


? ? Cnt =0;

? ? while(1)

? ? {

? ? ? ? printf("AT+CIPSERVER=1,1001\r\n");//創(chuàng)建服務(wù)器P0_0 =1;

? ? ? ? DelayMs(1000);

? ? ? ? if(UsartFlage ==1)

? ? ? ? {

? ? ? ? ? ? UsartFlage =0;

? ? ? ? ? ? if(strstr(UsartReceive,"OK"))

? ? ? ? ? ? {

? ? ? ? ? ? ? ? P0_0 =0;

? ? ? ? ? ? ? ? DelayMs(500);

? ? ? ? ? ? ? ? break;

? ? ? ? ? ? }

? ? ? ? }

? ? ? ? Cnt ++;

? ? ? ? if(Cnt>=3)

? ? ? ? {

? ? ? ? ? goto start;

? ? ? ? }

? }


? ? /*讓小燈閃一閃,算是說明正確執(zhí)行了把*/? P0_0 =0;

? DelayMs(200);

? P0_0 =1;

? DelayMs(200);

? P0_0 =0;

? DelayMs(200);

? P0_0 =1;

? DelayMs(200);

? P0_0 =0;



?算啦全復(fù)制粘貼過來

#defineMAIN_C_#include "include.h"/**

* 介紹:? 主函數(shù)

* 說明:? 每間隔1S發(fā)送一次溫濕度數(shù)據(jù)

* 說明:? 返回串口接收到的數(shù)據(jù),發(fā)送方式為中斷發(fā)送

* 說明:? None

* 說明:? None

* 支持:? QQ946029359 --群 607064330

* 淘寶:? https://shop411638453.taobao.com/* 作者:? 小五

**/unsigned charCnt =0;

unsigned charConnectID =0;

unsigned chari=0;void main()

{

? ? InitUART(115200);

? ? InitTimer0();


? ? start:


? ? /*下面的都是一樣的模子,注釋就寫一個*/? ? Cnt =0;

? ? while(1)

? ? {

? ? ? ? printf("8266RST\r\n");//這個不是什么指令,我先用串口調(diào)試助手模擬P0_0 =1;//這個燈作為指示燈,發(fā)送個指令就亮,ESP_Rst();//復(fù)位8266DelayMs(3000);//等待3Sif(UsartFlage ==1)//串口接收到數(shù)據(jù)? ? ? ? {

? ? ?     UsartFlage =0;

? ? ? ? ? ? if(strstr(UsartReceive,"ready"))//有沒有ready? ? ? ? ? ? {

? ? ? ? ? ? ? ? P0_0 =0;//接收到正確的回復(fù)就滅DelayMs(500);

? ? ? ? ? ? ? ? break;

? ? ? ? ? ? }

? ?   }

? ? ? ? Cnt ++;

? ? ? ? if(Cnt>=3)//超過三次重新開始? ? ? ? {

? ? ?   goto start;

? ?   }

? }


? ? Cnt =0;

? ? while(1)

? ? {

? ? ? ? printf("AT+CIPMUX=1\r\n");//啟動多連接P0_0 =1;

? ? ? ? DelayMs(1000);

? ? ? ? if(UsartFlage ==1)

? ? ? ? {

? ?      UsartFlage =0;

? ? ? ? ? ? if(strstr(UsartReceive,"OK"))

? ? ? ? ? ? {

? ? ? ? ? ? ? ? P0_0 =0;

? ? ? ? ? ? ? ? DelayMs(500);

? ? ? ? ? ? ? ? break;

? ? ? ? ? ? }

? ?   }

? ? ? ? Cnt ++;

? ? ? ? if(Cnt>=3)

? ? ? ? {

? ? ?   goto start;

? ?   }

? }


? ? Cnt =0;

? ? while(1)

? ? {

? ? ? ? printf("AT+CIPSERVER=1,1001\r\n");//創(chuàng)建服務(wù)器P0_0 =1;

? ? ? ? DelayMs(1000);

? ? ? ? if(UsartFlage ==1)

? ? ? ? {

? ? ?     UsartFlage =0;

? ? ? ? ? ? if(strstr(UsartReceive,"OK"))

? ? ? ? ? ? {

? ? ? ? ? ? ? ? P0_0 =0;

? ? ? ? ? ? ? ? DelayMs(500);

? ? ? ? ? ? ? ? break;

? ? ? ? ? ? }

? ? }

? ? ? ? Cnt ++;

? ? ? ? if(Cnt>=3)

? ? ? ? {

? ? ?   goto start;

? ?   }

? }


? ? /*讓小燈閃一閃,算是說明正確執(zhí)行了把*/? P0_0 =0;

? DelayMs(200);

? P0_0 =1;

? DelayMs(200);

? P0_0 =0;

? DelayMs(200);

? P0_0 =1;

? DelayMs(200);

? P0_0 =0;



? ? while(1)

? ? {

? ?   DHT11_Receive();


? ? ? ? DelayMs(1000);


? ? ? ? printf("data;T=%d,H=%d\r\n",(int)DHT11Data[0],(int)DHT11Data[2]);

? ? ? ? //? ? ? ? if(UsartFlage == 1)//返回接收的數(shù)據(jù)//? ? ? ? {//? ? ? UsartFlage = 0;////? ? ? ? ? ? for(i=0;i<10;i++)//找到開始的數(shù)據(jù)位置,有的固件數(shù)據(jù)前頭有換行,有的沒有//? ? ? ? ? ? {//? ? ? ? if(UsartReceive[i]=='+' && UsartReceive[i+1]=='I'&& UsartReceive[i+2]=='P')//判斷數(shù)據(jù)的頭//? ? ? ? ? ? ? ? {//? ? ? ? ? ? ? ? ? ? ConnectID = UsartReceive[i+5];//得到是幾號連接的//? ? ? ? ? ? ? ? ? ? if(ConnectID>=0x30 && ConnectID<=0x34)//得到的ID號有沒有越界//? ? ? ? ? ? ? ? ? ? {//? ? ? ? ? ? ? ? ? ? ? ? ? for(i=6;i<15;i++)//找到 : 在哪里,才知道真實(shí)數(shù)據(jù)在哪里//? ? ? ? ? ? ? ? ? ? ? ? ? {//? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if(UsartReceive[i] == ':')//? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? {//? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if(UsartReceive[i+1]==0xaa? && UsartReceive[i+2]==0x55)//? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? {//? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? switch(UsartReceive[i+3])//? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? {//? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? case 0x01: break;//發(fā)送溫濕度數(shù)據(jù)//? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? case 0x02: if(UsartReceive[i+4] == 0x00)//? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? {//? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? P0_0 = 0;//? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? } //? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? else if(UsartReceive[i+4] == 0xff)//? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? {//? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? P0_0 = 1;//? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }//? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? break;//發(fā)送溫濕度數(shù)據(jù)////? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? default:break;? ? ? ? ? ? ? ? ? ? ? ? ? //? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }//? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? break;//結(jié)束for(i=6;i<15)//? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }//? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }//? ? ? ? ? ? ? ? ? ? ? ? ? }////? ? ? ? ? ? ? ? ? ? ? ? ? break;//結(jié)束for(i=0;i<10;i++)//? ? ? ? ? ? ? ? ? ? }//? ? ? ? ? ? ? ? }//? ? ? }? ? ? ? ? ?

? ? //}


? }

}

把現(xiàn)在的程序下進(jìn)去,然后測試


現(xiàn)在說一下接收數(shù)據(jù)

修改一下主while(1)循環(huán)函數(shù)

while(1)

? ? {

? ?   DHT11_Receive();

? ? ? ? //? ? ? ? DelayMs(1000);////? ? ? ? printf("data;T=%d,H=%d\r\n",(int)DHT11Data[0],(int)DHT11Data[2]);if(UsartFlage ==1)//返回接收的數(shù)據(jù)? ? ? ? {

? ? ?    UsartFlage =0;for(i=0;i<10;i++)//找到開始的數(shù)據(jù)位置,有的固件數(shù)據(jù)前頭有換行,有的沒有? ? ? ? ? {

? ? ? ? ? ? if(UsartReceive[i]=='+'&& UsartReceive[i+1]=='I'&& UsartReceive[i+2]=='P')//判斷數(shù)據(jù)的頭? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? ConnectID = UsartReceive[i+5];//得到是幾號連接的if(ConnectID>=0x30&& ConnectID<=0x34)//得到的ID號有沒有越界? ? ? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? ? ? for(i=6;i<15;i++)//找到 : 在哪里,才知道真實(shí)數(shù)據(jù)在哪里? ? ? ? ? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if(UsartReceive[i] ==':')

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if(UsartReceive[i+1]==0xaa&& UsartReceive[i+2]==0x55)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? switch(UsartReceive[i+3])

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? case0x01:break;//發(fā)送溫濕度數(shù)據(jù)case0x02:if(UsartReceive[i+4] ==0x00)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? P0_0 =0;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? elseif(UsartReceive[i+4] ==0xff)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? P0_0 =1;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? break;//發(fā)送溫濕度數(shù)據(jù)default:break;? ? ? ? ? ? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? break;//結(jié)束for(i=6;i<15)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? ? ? ? ? }


? ? ? ? ? ? ? ? ? ? ? ? break;//結(jié)束for(i=0;i<10;i++)? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? }

? ?    }


? ? }


? }

wifi接受到數(shù)據(jù)發(fā)給單片機(jī)的格式


但是呢有的固件,是沒有前面的換行的


所以我的程序


接著呢我要知道我的數(shù)據(jù)在哪里,


把現(xiàn)在的程序下載到單片機(jī)里面

別忘了

電腦和單片機(jī)串口通信

單片機(jī)和WIFI模塊通信

電腦和WIFI模塊通信

然后把跳線帽跳到中間,讓單片機(jī)和WIFI模塊進(jìn)行通信


把WIFI模塊的RST引腳接到單片機(jī)的P1_0


復(fù)位一下單片機(jī),也可以不用


?手機(jī)連接無線





這篇先寫到這里,先讓大家消化消化

下一篇連接

http://www.cnblogs.com/yangfengwu/p/8780182.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末著角,一起剝皮案震驚了整個濱河市了赵,隨后出現(xiàn)的幾起案子芙盘,更是在濱河造成了極大的恐慌皮胡,老刑警劉巖栈妆,帶你破解...
    沈念sama閱讀 216,997評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡贰谣,警方通過查閱死者的電腦和手機(jī)蠕趁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評論 3 392
  • 文/潘曉璐 我一進(jìn)店門薛闪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人俺陋,你說我怎么就攤上這事豁延。” “怎么了腊状?”我有些...
    開封第一講書人閱讀 163,359評論 0 353
  • 文/不壞的土叔 我叫張陵诱咏,是天一觀的道長。 經(jīng)常有香客問我缴挖,道長袋狞,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,309評論 1 292
  • 正文 為了忘掉前任映屋,我火速辦了婚禮苟鸯,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘棚点。我一直安慰自己早处,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,346評論 6 390
  • 文/花漫 我一把揭開白布瘫析。 她就那樣靜靜地躺著砌梆,像睡著了一般。 火紅的嫁衣襯著肌膚如雪贬循。 梳的紋絲不亂的頭發(fā)上咸包,一...
    開封第一講書人閱讀 51,258評論 1 300
  • 那天,我揣著相機(jī)與錄音甘有,去河邊找鬼诉儒。 笑死,一個胖子當(dāng)著我的面吹牛亏掀,可吹牛的內(nèi)容都是我干的忱反。 我是一名探鬼主播,決...
    沈念sama閱讀 40,122評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼滤愕,長吁一口氣:“原來是場噩夢啊……” “哼温算!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起间影,我...
    開封第一講書人閱讀 38,970評論 0 275
  • 序言:老撾萬榮一對情侶失蹤注竿,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體巩割,經(jīng)...
    沈念sama閱讀 45,403評論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡裙顽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,596評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了宣谈。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片愈犹。...
    茶點(diǎn)故事閱讀 39,769評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖闻丑,靈堂內(nèi)的尸體忽然破棺而出漩怎,到底是詐尸還是另有隱情,我是刑警寧澤嗦嗡,帶...
    沈念sama閱讀 35,464評論 5 344
  • 正文 年R本政府宣布勋锤,位于F島的核電站,受9級特大地震影響侥祭,放射性物質(zhì)發(fā)生泄漏叁执。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,075評論 3 327
  • 文/蒙蒙 一矮冬、第九天 我趴在偏房一處隱蔽的房頂上張望徒恋。 院中可真熱鬧,春花似錦欢伏、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至葛假,卻和暖如春障陶,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背聊训。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評論 1 269
  • 我被黑心中介騙來泰國打工抱究, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人带斑。 一個月前我還...
    沈念sama閱讀 47,831評論 2 370
  • 正文 我出身青樓鼓寺,卻偏偏與公主長得像,于是被迫代替她去往敵國和親勋磕。 傳聞我的和親對象是個殘疾皇子妈候,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,678評論 2 354

推薦閱讀更多精彩內(nèi)容