【瑞薩RAMCU創意氛圍賽作品賞析】項目18——智能門鎖

瑞薩MCU小百科 2023-12-18 12:00


本項目是基于啟明6M5開發板設計一個門鎖系統,通過板載ESP8266網絡將驗證碼發送至云端,用戶通過手機上接受到的驗證碼打開門鎖。項目功能演示如下:



一? ?硬件設計



拓展板原理圖:

繪制拓展板時計劃使用到液晶屏,攝像頭和指紋模塊,揚聲器等外設,所以繪制PCB時都加上去了,改了兩次板后依舊還有些硬件問題沒解決,加上軟件沒調好,目前只能通過使用觸摸屏來驅動舵機。圖中的GD32f103芯片打算作為攝像頭OV7670和液晶屏的中轉,由于我使用的OV7670不帶緩存,故打算用GD32將16位的圖像數據通過8080時序直接傳輸給LCD,目前還沒調通該部分。



二? ?軟件設計



該系統中主要使用到了timer控制舵機完成開門和及時關門的操作,使用RNG寄存器實現得到隨機的開鎖密碼,通過ESP8266傳輸給手機設備,使用RTC更新當前時間。


(1)ESP8266
該模塊使用Arduino軟件進行編程,主要功能為獲取時間和MQTT協議通訊,具體代碼如下:

上下滑動查看完整內容

左右滑動即可查看完整代碼

#include #include #include #include #include 
const char *ssid ? ? = "CMCC-416";//const char *password = "12345678";//const char* mqtt_server = "114.55.65.118";//MQTT服務器地址
char msg[200];int msg_ind=0;
WiFiUDP ntpUDP;NTPClient timeClient(ntpUDP, "ntp1.aliyun.com", 60*60*8, 30*60*1000);
WiFiClient espClient;PubSubClient client(espClient);
void setup(){ ?Serial.begin(115200); ?WiFi.begin(ssid, password);
?while ( WiFi.status() != WL_CONNECTED ) { ? ?delay ( 500 ); ? ?Serial.print ( "." ); ?}
?client.setServer(mqtt_server, 1883);//設置MQTT服務器和端口號 ?client.setCallback(callback); ? //設置MQTT回傳函數 ?timeClient.begin(); ?while (!client.connect("ESP8266Client")) { ? ?Serial.print ( "-" ); ? ?delay ( 500 ); ?}//以ESP8266Client身份連接MQTT服務器 ?Serial.print ("MQTTsuccess" ); ?client.subscribe("RA6M5/1");}
void callback(char* topic, byte* payload, unsigned int length) { ?if (strstr((char*)payload,(char*)"askInfo")!=NULL)//從單片機中獲取當前信息 ?{ ? ?Serial.print("ANDROID_ASKINFO\n"); ?}}
void loop() { ?client.loop();//循環調用回傳函數,當訂閱的主題有新消息時能馬上進入callback函數 ?while(Serial.available()>0)//讀取串口 ?{ ? ?char recvData = ?Serial.read(); ? ?msg[msg_ind++] = recvData;//逐個字符寫入串口接收緩存區 ? ?delay(100); ? ?if (recvData=='\n'){// ? ? ?Serial.print("Time:");// ? ? ?Serial.print(msg); ? ? ?if (strstr(msg,(char*)"{"))//當串口接受的最后一個字符是'\n'結尾時,對所有緩存區域進行處理 ? ? ?{ ? ? ? ?if (client.connect("ESP8266Client")) {//以ESP8266Client身份連接MQTT服務器 ? ? ? ? ?client.publish("RA6M5/2", msg,msg_ind-1); ? //將緩存區數據以RA6M5/2主題發布 ? ? ? ?} ? ? ? ?msg_ind=0;//刷新串口接收緩存 ? ? ?} ? ? ?else if (strstr(msg,(char*)"GETTIME")){ ? ? ? ?timeClient.update(); ? ? ? ?//獲取時間戳 ? ? ? ?//unsigned long epochTime = timeClient.getFormattedTime(); ? ? ? ?Serial.print("Time:"); ? ? ? ?Serial.println(timeClient.getEpochTime()); ? ? ? ?msg_ind=0;//刷新串口接收緩存 ? ? ?} ? ? ?else if (strstr(msg,(char*)"WIFISTATE")){ ? ? ? ?if ( WiFi.status() == WL_CONNECTED ) { ? ? ? ? ?int rss=WiFi.RSSI(); ? ? ? ? ?if (rss<=0&&rss>=-50) ? ? ? ? ? ?Serial.println ( "WIFI:3" ); ? ? ? ? ?else if (rss<=-50&&rss>=-70) ? ? ? ? ? ?Serial.println ( "WIFI:2" ); ? ? ? ? ?else if (rss<=-70&&rss>=-80) ? ? ? ? ? ?Serial.println ( "WIFI:1" ); ? ? ? ? ?else if (rss<=-80&&rss>=-100) ? ? ? ? ? ?Serial.println ( "WIFI:0" ); ? ? ? ?}else{ ? ? ? ? ?Serial.println ( "WIFI:No" ); ? ? ? ?} ? ? ?} ? ?} ?}}


(2)上位機部分
?該部分使用Android Studio編寫,主要代碼如下:

上下滑動查看完整內容

左右滑動即可查看完整代碼

public class MainActivity extends AppCompatActivity { ? ?private static IntentFilter action; ? ?RecyclerView recycler;
? ?private final String payloadJson1="{"ParkingState":1}";
? ?final int POST_DEVICE_PROPERTIES_SUCCESS = 1002; ? ?final int POST_DEVICE_PROPERTIES_ERROR = 1003; ? ?final int UPDATE_UI = 1004; ? ?private MqttClient mqttClient=null; ? ?private String responseBody = ""; ? ?private static final String TAG =MainActivity.class.getSimpleName(); ? ?private ArrayList datas = new ArrayList<>(); ? ?private String temper_str="未知"; ? ?private String humdity_str="未知"; ? ?private String passwd_str="未知"; ? ?private dataBean bean = new dataBean();
? ?MyAdapter adapter;
? ?private Handler mHandler = new Handler() { ? ? ? ?@Override ? ? ? ?public void handleMessage(Message msg) { ? ? ? ? ? ?switch (msg.what) { ? ? ? ? ? ? ? ?case POST_DEVICE_PROPERTIES_SUCCESS: ? ? ? ? ? ? ? ? ? ?showToast("發送數據成功"); ? ? ? ? ? ? ? ? ? ?break; ? ? ? ? ? ? ? ?case POST_DEVICE_PROPERTIES_ERROR: ? ? ? ? ? ? ? ? ? ?showToast("post數據失敗"); ? ? ? ? ? ? ? ? ? ?break; ? ? ? ? ? ? ? ?case UPDATE_UI: ? ? ? ? ? ? ? ? ? ?SimpleDateFormat formatter = new SimpleDateFormat("yyyy.MM.dd\nHH:mm:ss"); ? ? ? ? ? ? ? ? ? ?Date curDate = new Date(System.currentTimeMillis()); ? ? ? ? ? ? ? ? ? ?String str_time = formatter.format(curDate); ? ? ? ? ? ? ? ? ? ?datas.clear(); ? ? ? ? ? ? ? ? ? ?bean = new dataBean("濕度",humdity_str,str_time,getResources().getDrawable(R.drawable.ic_humdity, null)); ? ? ? ? ? ? ? ? ? ?datas.add(bean); ? ? ? ? ? ? ? ? ? ?bean = new dataBean("溫度",temper_str,str_time,getResources().getDrawable(R.drawable.ic_temperature, null)); ? ? ? ? ? ? ? ? ? ?datas.add(bean); ? ? ? ? ? ? ? ? ? ?bean = new dataBean("驗證碼",passwd_str,str_time,getResources().getDrawable(R.drawable.ic_temperature, null)); ? ? ? ? ? ? ? ? ? ?datas.add(bean); ? ? ? ? ? ? ? ? ? ?adapter.notifyDataSetChanged(); ? ? ? ? ? ? ? ? ? ?break;
? ? ? ? ? ?} ? ? ? ?} ? ?};

? ?@Override ? ?protected void onCreate(Bundle savedInstanceState) { ? ? ? ?super.onCreate(savedInstanceState); ? ? ? ?setContentView(R.layout.activity_main);
? ? ? ?recycler = findViewById(R.id.recyclerView);
? ? ? ?RefreshLayout refreshLayout = (RefreshLayout) findViewById(R.id.refreshLayout); ? ? ? ?refreshLayout.setRefreshHeader(new ClassicsHeader(this)); ? ? ? ? refreshLayout.setRefreshFooter(new ClassicsFooter(this)); ? ? ? ?refreshLayout.setOnRefreshListener(new OnRefreshListener() { ? ? ? ? ? ?@Override ? ? ? ? ? ?public void onRefresh(RefreshLayout refreshlayout) { ? ? ? ? ? ? ? ?refreshlayout.finishRefresh(2000/*,false*/);//傳入false表示刷新失敗 ? ? ? ? ? ? ? ?mHandler.postDelayed(() -> postDeviceProperties1(), 1000); ? ? ? ? ? ?} ? ? ? ?}); ? ? ? ?refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() { ? ? ? ? ? ?@Override ? ? ? ? ? ?public void onLoadMore(RefreshLayout refreshlayout) { ? ? ? ? ? ? ? ?refreshlayout.finishLoadMore(2000/*,false*/);//傳入false表示加載失敗 ? ? ? ? ? ? ? ?mHandler.postDelayed(() -> postDeviceProperties1(), 1000); ? ? ? ? ? ?} ? ? ? ?});
? ? ? ?new Thread(() -> initMQTTClient()).start();
? ? ? ?SimpleDateFormat formatter = new SimpleDateFormat("yyyy.MM.dd\nHH:mm:ss"); ? ? ? ?Date curDate = new Date(System.currentTimeMillis()); ? ? ? ?String str_time = formatter.format(curDate);
? ? ? ?bean = new dataBean("濕度",temper_str,str_time,getResources().getDrawable(R.drawable.ic_humdity, null)); ? ? ? ?datas.add(bean); ? ? ? ?bean = new dataBean("溫度",humdity_str,str_time,getResources().getDrawable(R.drawable.ic_temperature, null)); ? ? ? ?datas.add(bean); ? ? ? ?bean = new dataBean("驗證碼",passwd_str,str_time,getResources().getDrawable(R.drawable.ic_temperature, null)); ? ? ? ?datas.add(bean);

? ? ? ?//適配器 ? ? ? ?adapter = new MyAdapter(this, datas); ? ? ? ?//布局 ? ? ? ?LinearLayoutManager manager = new LinearLayoutManager(this); ? ? ? ?//設置布局 ? ? ? ?recycler.setLayoutManager(manager); ? ? ? ?//設置動畫 ? ? ? ?recycler.setItemAnimator(new DefaultItemAnimator()); ? ? ? ?//設置適配器 ? ? ? ?recycler.setAdapter(adapter);

? ?}
? ?private void initMQTTClient() {
? ? ? ?try { ? ? ? ? ? ?// cn-shanghai ? ? ? ? ? ?String targetServer ="tcp://114.55.65.118:1883"; ? ? ? ? ? ?String mqttclientId = "RA6M5_Android1"; ? ? ? ? ? ?String mqttUsername = "RA6M5_Android_User1"; ? ? ? ? ? ?String mqttPassword = "123456"; ? ? ? ? ? ?connectMqtt(targetServer, mqttclientId, mqttUsername, mqttPassword); ? ? ? ?} catch (Exception e) { ? ? ? ? ? ?e.printStackTrace(); ? ? ? ? ? ?responseBody = e.getMessage(); ? ? ? ? ? ?mHandler.sendEmptyMessage(POST_DEVICE_PROPERTIES_ERROR); ? ? ? ?} ? ?}
? ?public void connectMqtt(String url, String clientId, String mqttUsername, String mqttPassword) throws Exception {
? ? ? ?MemoryPersistence persistence = new MemoryPersistence(); ? ? ? ?mqttClient = new MqttClient(url, clientId, persistence); ? ? ? ?MqttConnectOptions connOpts = new MqttConnectOptions(); ? ? ? ?// MQTT 3.1.1 ? ? ? ?connOpts.setMqttVersion(4); ? ? ? ?connOpts.setAutomaticReconnect(true); ? ? ? ?connOpts.setCleanSession(true);
? ? ? ?connOpts.setUserName(mqttUsername); ? ? ? ?connOpts.setPassword(mqttPassword.toCharArray()); ? ? ? ?connOpts.setKeepAliveInterval(60);
? ? ? ?mqttClient.connect(connOpts); ? ? ? ?mqttClient.setCallback(new MqttCallback() { ? ? ? ? ? ?@Override ? ? ? ? ? ?public void connectionLost(Throwable cause) { ? ? ? ? ? ? ? ?Log.e(TAG, "cause ---> " + cause); ? ? ? ? ? ?}
? ? ? ? ? ?@Override ? ? ? ? ? ?public void messageArrived(String topic, MqttMessage message) throws Exception { ? ? ? ? ? ? ? ?Log.e(TAG, "topic ---> " + topic + " ? ? ? message--->" + message); ? ? ? ? ? ? ? ?if (topic.equals("RA6M5/2")){ ? ? ? ? ? ? ? ? ? ?String mqtt_str = new String(message.getPayload()); ? ? ? ? ? ? ? ? ? ?JSONObject json = new JSONObject(mqtt_str); ? ? ? ? ? ? ? ? ? ?temper_str = json.getString("temper"); ? ? ? ? ? ? ? ? ? ?humdity_str = json.getString("humdity"); ? ? ? ? ? ? ? ? ? ?passwd_str = json.getString("passwd"); ? ? ? ? ? ? ? ? ? ?mHandler.sendEmptyMessage(UPDATE_UI); ? ? ? ? ? ? ? ? ? ?Log.e(TAG, "update--finish ");
? ? ? ? ? ? ? ?} ? ? ? ? ? ?}
? ? ? ? ? ?@Override ? ? ? ? ? ?public void deliveryComplete(IMqttDeliveryToken token) { ? ? ? ? ? ? ? ?Log.e(TAG, "token ---> " + token); ? ? ? ? ? ?} ? ? ? ?}); ? ? ? ?mqttClient.subscribe("RA6M5/2"); ? ? ? ?Log.d(TAG, "connected " + url); ? ?}
? ?private void showToast(String msg) { ? ? ? ?Toast.makeText(MainActivity.this, msg,Toast.LENGTH_SHORT).show(); ? ?}
? ?private void postDeviceProperties1() { ? ? ? ?try {
? ? ? ? ? ?Random random = new Random();
? ? ? ? ? ?//上報數據 ? ? ? ? ? ?String payload = "askInfo"; ? ? ? ? ? ?responseBody = payload; ? ? ? ? ? ?MqttMessage message = new MqttMessage(payload.getBytes("utf-8")); ? ? ? ? ? ?message.setQos(1);
? ? ? ? ? ?String pubTopic = "RA6M5/1"; ? ? ? ? ? ?mqttClient.publish(pubTopic, message); ? ? ? ? ? ?Log.d(TAG, "publish topic=" + pubTopic + ",payload=" + payload); ? ? ? ? ? ?mHandler.sendEmptyMessage(POST_DEVICE_PROPERTIES_SUCCESS); ? ? ? ?} catch (Exception e) { ? ? ? ? ? ?e.printStackTrace(); ? ? ? ? ? ?responseBody = e.getMessage(); ? ? ? ? ? ?mHandler.sendEmptyMessage(POST_DEVICE_PROPERTIES_ERROR); ? ? ? ? ? ?Log.e(TAG, "postDeviceProperties error " + e.getMessage(), e); ? ? ? ?} ? ?}}


(3)單片機部分
?該部分使用Android Studio編寫,主要代碼如下:? ??

1、屏幕顯示部分

上下滑動查看完整內容

左右滑動即可查看完整代碼

void LCD_thread_entry(void * pvParameters){ ? ? ? ? ? ? ? ?uint32_t lValueToRece; ? ? ? ? ? ? ? ?uint16_t pos_x=0,pos_y=0; ? ? ? ? ? ? ? ?EventBits_t Eventbits; ? ? ? ? ? ? ? ?BaseType_t err = pdFALSE; ? ? ? ? ? ? ? ?unsigned char touch_vals[4]; ? ? ? ? ? ? ? ?unsigned char touch_tmp=0; ? ? ? ? ? ? ? ?xEventGroupClearBits(g_new_event_LCD,0x7); ? ? ? ? ? ? ? ?xEventGroupSetBits(g_new_event_LCD,0x1); ? ? ? ? ? ? ? ?FSP_PARAMETER_NOT_USED(pvParameters); ? ? ? ? ? ? ? ?R_IOPORT_Open(&g_ioport_ctrl, g_ioport.p_cfg); ? ? ? ? ? ? ? ?LCD_Init(); ? ? ? ? ? ? ? ?WIFI_Init(); ? ? ? ? ? ? ? ?PWM_Init(); ? ? ? ? ? ? ? ?R_GPT_Open(&g_timer0_ctrl, &g_timer0_cfg); ? ? ? ? ? ? ? ?R_GPT_Start(&g_timer0_ctrl); ? ? ? ? ? ? ? ?R_GPT_Disable(&g_timer0_ctrl); ? ? ? ? ? ? ? ?LCD_Clean(BLUE);//BLUE ? ? ? ? ? ? ? ?Draw_Square_Back(18,180,100,56,BRRED,LIGHTBLUE,array_renlian); ? ? ? ? ? ? ? ?Draw_Square_Back(18,240,100,56,BRRED,LIGHTBLUE,array_mima);// ? ? ? ? ? ? ? ?LCD_ShowPic(18,180,27,40,gImage_temp,BLUE);// ? ? ? ? ? ? ? ?LCD_ShowPic(18,240,27,40,gImage_humdity,BLUE); ? ? ? ? ? ? ? ?R_SCI_UART_Write(&g_uart9_wifi_ctrl, (const uint8_t*)"GETTIME\n", 8); ? ? ? ? ? ? ? ?mbedtls_platform_setup(&ctx); ? ? ? ? ? ? ? ?RM_PSA_CRYPTO_TRNG_Read(passwd_Byte+6,6,&passwd_num); ? ? ? ? ? ? ? ?/* TODO: add your own code here */ ? ? ? ? ? ? ? ?while(1) ? ? ? ? ? ? ? ?{ ? ? ? ? ? ? ? ? ? ? ? ?Eventbits = xEventGroupGetBits(g_new_event_LCD); ? ? ? ? ? ? ? ? ? ? ? ?if ((Eventbits&0x1)==0x1){//顯示時間 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//更新wifi數據 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?wifi_analysis(); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?DHT11_Read(); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?err = xQueueReceive(g_touch_queue,&lValueToRece,20); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?if (err==pdTRUE){ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?pos_x = lValueToRece>>16; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?pos_y = lValueToRece & 0xffff; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?if ((pos_x>18)&&(pos_x<118)) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?{ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?if ((pos_y>180)&&(pos_y<236)) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?{ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?taskENTER_CRITICAL(); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?LCD_Fill(0,0,239,319,WHITE);//BLUE ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?taskEXIT_CRITICAL(); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?}else if ((pos_y>240)&&(pos_y<316)) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?{ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?xSemaphoreGive(g_rtc_binSem); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?xEventGroupClearBits(g_new_event_LCD,0x7); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?xEventGroupSetBits(g_new_event_LCD,0x4); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?taskENTER_CRITICAL(); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?LCD_Fill(0,0,239,319,WHITE);//BLUE ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?LCD_Disp_KeyBoard(); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?getKeyBoardTRNG(); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?taskEXIT_CRITICAL(); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?} ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?} ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?} ? ? ? ? ? ? ? ? ? ? ? ?}else if((Eventbits&0x4)==0x4){
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?err = xQueueReceive(g_touch_queue,&lValueToRece,20); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?if (err==pdTRUE){ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?touch_tmp ?= LCD_Read_KeyBoard((unsigned short)(lValueToRece>>16),lValueToRece&0xffff); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?if (touch_tmp==0xff){ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?minLCD_Key_Loc(); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?}else if (touch_tmp<10) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?{ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?if (getLCD_Key_Loc()>0) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?touch_vals[getLCD_Key_Loc()-1] = touch_tmp; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?} ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?LCD_Disp_Passwd(touch_vals,getLCD_Key_Loc()); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?if (getLCD_Key_Loc()==4) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?{ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//校驗 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?if ((touch_vals[0]==(passwd_Byte[0]-'0')) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?&&(touch_vals[1]==(passwd_Byte[1]-'0')) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?&&(touch_vals[2]==(passwd_Byte[2]-'0')) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?&&(touch_vals[3]==(passwd_Byte[3]-'0')) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?{ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?lockState=false; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?R_GPT_Enable(&g_timer0_ctrl); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?xEventGroupClearBits(g_new_event_LCD,0x7); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?xEventGroupSetBits(g_new_event_LCD,0x1); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?taskENTER_CRITICAL(); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?LCD_Fill(0,0,239,319,BLUE);//BLUE ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?taskEXIT_CRITICAL(); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?xSemaphoreGive(g_flush_semaphore); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?R_SCI_UART_Write(&g_uart9_wifi_ctrl, (const uint8_t*)"GETTIME\n", 8); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?} ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?} ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?}
? ? ? ? ? ? ? ? ? ? ? ?} ? ? ? ? ? ? ? ? ? ? ? ?if (lockState){//關著 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?PWM_Update(5); ? ? ? ? ? ? ? ? ? ? ? ?} ? ? ? ? ? ? ? ? ? ? ? ?else{ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?PWM_Update(10);//打開 ? ? ? ? ? ? ? ? ? ? ? ?} ? ? ? ? ? ? ? ?}}


void uart9_wifi_callback(uart_callback_args_t * p_args){ ? ? ? ? switch(p_args->event) ? ? ? ? { ? ? ? ? case UART_EVENT_RX_CHAR: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?wifi_rece_buff[wifi_rece_len++] = p_args->data&0xff; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?if (p_args->data=='\n'){ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?flag_wifi_rece=true; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?} ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?break; ? ? ? ? ? ? ? ? case UART_EVENT_TX_COMPLETE:
? ? ? ? ? ? ? ? ? ? ? ?break; ? ? ? ? default: ? ? ? ? ? ?break; ? ? }}
void lock_timer0_callback(timer_callback_args_t * p_args){ ? ? ? ?if (TIMER_EVENT_CYCLE_END == p_args->event) ? ? ? ?{ ? ? ? ? ? ? ? ? ? ? ? ?lockState=true; ? ? ? ? ? ? ? ? ? ? ? ?R_GPT_Disable(&g_timer0_ctrl); ? ? ? ?}


?2、觸摸部分

上下滑動查看完整內容

左右滑動即可查看完整代碼

void Touch_thread_entry(void * pvParameters){ ? ? ? ? ? ? ? ?FSP_PARAMETER_NOT_USED(pvParameters); ? ? ? ? ? ? ? ?bool Touch_flag_time=true; ? ? ? ? ? ? ? ?bsp_io_level_t state; ? ? ? ? ? ? ? ?fsp_err_t err = FSP_SUCCESS; ? ? ? ? ? ? ? ?/* Open ICU module */ ? ? ? ? ? ? ? ?err = R_ICU_ExternalIrqOpen(&g_external_irq4_ctrl, &g_external_irq4_cfg); ? ? ? ? ? ? ? ?/* 允許中斷 */ ? ? ? ? ? ? ? ?err = R_ICU_ExternalIrqEnable(&g_external_irq4_ctrl); ? ? ? ? ? ? ? ?/* TODO: add your own code here */ ? ? ? ? ? ? ? ?while(1) ? ? ? ? ? ? ? ?{
? ? ? ? ? ? ? ? ? ? ? if (flag_touch_start){ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?if (Touch_num==6){ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?uint32_t lValueToSend; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?flag_touch_start = false; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Touch_coordinate_xsum = Touch_coordinate_xsum-Touch_coordinate_xmax-Touch_coordinate_xmin; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Touch_coordinate_xsum >>=2; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Touch_coordinate_ysum = Touch_coordinate_ysum-Touch_coordinate_ymax-Touch_coordinate_ymin; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Touch_coordinate_ysum >>=2; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Touch_corrdinate_pixel(Touch_coordinate_xsum,Touch_coordinate_ysum); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?lValueToSend = Touch_coordinate_xpix; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?lValueToSend <<=16; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?lValueToSend |= Touch_coordinate_ypix; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?xQueueSendToBack(g_touch_queue,&lValueToSend,100000); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Touch_num=0; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?vTaskDelay(100); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?}else{ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?taskENTER_CRITICAL(); ? ? ? ?//進入基本臨界區 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?touch_curr_x = Touch_Write_CMD(READ_CHANNEL_X); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?touch_curr_y = Touch_Write_CMD(READ_CHANNEL_Y); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?taskEXIT_CRITICAL(); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?if (Touch_num==0) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?{ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Touch_coordinate_xmax=touch_curr_x; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Touch_coordinate_xmin=touch_curr_x; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Touch_coordinate_ymax=touch_curr_y; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Touch_coordinate_ymin=touch_curr_y; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Touch_coordinate_xsum = touch_curr_x; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Touch_coordinate_ysum = touch_curr_y; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?}else{ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Touch_coordinate_average(touch_curr_x,0); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Touch_coordinate_average(touch_curr_y,1); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?} ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Touch_num++; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?} ? ? ? ? ? ? ? ? ? ? ? ?}else{ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?if (Touch_flag_time) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?R_IOPORT_PinWrite(&g_ioport_ctrl, LCD_SCK, BSP_IO_LEVEL_LOW); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?else ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?R_IOPORT_PinWrite(&g_ioport_ctrl, LCD_SCK, BSP_IO_LEVEL_HIGH); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?R_IOPORT_PinRead(&g_ioport_ctrl, LCD_IRQ, &state); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?if (state==BSP_IO_LEVEL_LOW){ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?flag_touch_start=true; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?} ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?vTaskDelay(10); ? ? ? ? ? ? ? ? ? ? ? ?} ? ? ? //退出基本臨界區 ? ? ? ? ? ? ? ? ? ? ? ?vTaskDelay(10);// ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?xSemaphoreTake(g_touch_binary_semaphore,portMAX_DELAY); ? ? ? ? ? ? ? ?}}



3、RTC部分


上下滑動查看完整內容

左右滑動即可查看完整代碼

void RTC_thread_entry(void * pvParameters){ ? ? ? ?FSP_PARAMETER_NOT_USED(pvParameters); ? ? ? ?EventBits_t Eventbits; ? ? ? ?BaseType_t err = pdFALSE; ? ? ? ?/* TODO: add your own code here */ ? ? ? ?while(1) ? ? ? ?{ ? ? ? ? ? ? ? ?Eventbits = xEventGroupGetBits(g_new_event_LCD); ? ? ? ? ? ? ? ?if ((Eventbits&0x1)==0x1)//顯示時間 ? ? ? ? ? ? ? ?{ ? ? ? ? ? ? ? ? ? ? ? ?xSemaphoreTake(g_rtc_binSem,portMAX_DELAY); ? ? ? ? ? ? ? ? ? ? ? ?taskENTER_CRITICAL(); ? ? ? ? ? ? ? ? ? ? ? ?Time_Update(); ? ? ? ? ? ? ? ? ? ? ? ?taskEXIT_CRITICAL(); ? ? ? ? ? ? ? ? ? ? ? ?err = xSemaphoreTake(g_flush_semaphore,20); ? ? ? ? ? ? ? ? ? ? ? ?if (err==pdTRUE) ? ? ? ? ? ? ? ? ? ? ? ?{ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?taskENTER_CRITICAL(); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Draw_Square_Back(18,180,100,56,BRRED,LIGHTBLUE,array_renlian); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Draw_Square_Back(18,240,100,56,BRRED,LIGHTBLUE,array_mima); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?taskEXIT_CRITICAL(); ? ? ? ? ? ? ? ? ? ? ? ?} ? ? ? ? ? ? ? ?} ? ? ? ? ? ? ? ?else{ ? ? ? ? ? ? ? ? ? ? ? ?if (first_Disp){ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?LCD_Fill(0,131,239,50,WHITE); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Draw_Square(10,140,60,50,RED,GREEN,4);//4 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Draw_Square(90,140,60,50,RED,GREEN,5);//5 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Draw_Square(170,140,60,50,RED,GREEN,6);//6 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?first_Disp--; ? ? ? ? ? ? ? ? ? ? ? ?} ? ? ? ? ? ? ? ? ? ? ? ?vTaskDelay(1000); ? ? ? ? ? ? ? ?} ? ? ? ?}}

void rtc_lcd_callback(rtc_callback_args_t * p_args){ ? ? ? ?switch (p_args->event) ? ? ? ? ?{ ? ? ? ? ? ? ? ? /*若是周期中斷,則更新日期*/ ? ? ? ? ? ? ? ? case RTC_EVENT_PERIODIC_IRQ:
? ? ? ? ? ? ? ? ? ? ? ?/*獲取當前時間*/ ? ? ? ? ? ? ? ? ? ? ? ?R_RTC_CalendarTimeGet (g_rtc_lcd.p_ctrl, lcd_time); ? ? ? ? ? ? ? ? ? ? ? ?xSemaphoreGiveFromISR(g_rtc_binSem,NULL); ? ? ? ? ? ? ? ? ? ? ? ?break; ? ? ? ? ? ? ? ? default: ? ? ? ? ? ? ? ? ? ? ? ?break; ? ? ? ? ?}}




三? ?項目效果圖




更多內容您可識別下方二維碼或點擊文末閱讀原文訪問查看:


您可復制下方網址到瀏覽器中打開進入瑞薩中文論壇查看:

https://community-ja.renesas.com/zh/forums-groups/mcu-mpu/


1

END

1


推薦閱讀

【瑞薩RA MCU創意氛圍賽作品賞析】項目15——智慧水族缸

【瑞薩RA MCU創意氛圍賽作品賞析】項目16——基于瑞薩RA6M4智能臭氧消毒系統

【瑞薩RA MCU創意氛圍賽作品賞析】項目17——無線環境檢測小車

更多精彩內容,請點擊

評論
  • 報警語音在工業設備里的難題做工業設備的工程師多半遇到過這種事。設備上要播的語音條數越來越多,正常開機提示、運行狀態播報、故障報警、維護提醒、安全警告,加起來幾十條甚至上百條。一開始用小容量 OTP 芯片還能應付,條數一多就不夠用了。換大容量芯片,成本又上去了。更大的麻煩在報警優先級上。工業設備運行時,語音芯片可能正在播放一段正常運行狀態提示,比如"設備運行中,請勿靠近"。這時候突然檢測到故障,需要立刻插播一條緊急報警語音"溫度過高,請立即停機檢查"。傳統語音芯片做不到這件事。它要么得先發停止命令
    唯創知音語音芯片 2026-08-12 17:50 96瀏覽
  • 100 字導語廠區停機檢修、設備長期靜置存放,防爆航插易受潮、積塵、膠圈老化、觸點氧化。本文針對停機復工場景,制定 3 針 3 孔、5PIN、8 芯圓形防爆連接器全套檢測保養流程,明確絕緣、導通、密封、屏蔽復工核驗標準,避免復工跳閘、信號異常。關鍵詞:圓形防爆連接器,復工檢測,防爆航空插頭,防爆法蘭插座,防爆接插件,IP67, 靜置保養,5PIN,8 芯1 產品概述設備長期停機靜置,防爆連接器腔體密閉不通風,極易積聚潮氣、凝結水汽;密封件長期靜態受壓出現永久形變;鍍金觸點鈍化氧化。直接通電復工極
    kyfbest科迎法電氣 2026-08-12 13:32 238瀏覽
  • 在國內大量通用制造產線與工業場站里,智能化升級正普遍面臨著的現實困境:小到產線外觀質檢、設備狀態監測終端,大到站房智能網關、工業人機交互設備,企業既想落地本地AI推理、多設備聯網協同等智能化功能,又難以承擔高端工控方案的高昂部署成本;既要求硬件能適應高低溫、粉塵、電磁干擾的復雜工業環境,又受制于預算門檻退而選擇消費級主控,最終往往陷入“改得起、用不住”的尷尬局面。這是當前工業智能化向中端下沉過程中的共性痛點。一方面,高端算力方案性能過剩、單價居高不下,多設備批量部署時成本壓力陡增,而入門級主控又
    飛凌嵌入式 2026-08-12 08:52 180瀏覽
  • 我在唯創知音做門鎖語音方案這幾年,常被廠商問到一個看似簡單的問題,門鎖里的語音到底要做什么。門鎖語音在門鎖里早就不是加個喇叭那么回事。它要管門鈴、提示音、貓眼對講、藍牙配網播報、離線喊一聲開門,還有大屏上的菜單動效。這些功能分散在前板、后板、貓眼和 APP 四個部位,芯片怎么選,各部位完全不一樣。最基礎的一塊是門鈴和固定提示音。很多走量機型到現在還是一顆小容量語音芯片扛著,像 WTN 系列里的 WTN6006、WTN6020,Flash 從 低時長到高時長都有不同的芯片,協議相同可以無縫切換。它
    唯創知音語音芯片 2026-08-12 17:34 69瀏覽
  • 100 字導語現場防爆航插頻繁出現插拔卡頓、沙沙異響、對位卡死等問題,大多不是產品質量問題,而是粉塵進腔、觸點氧化、防呆鍵位磨損導致。本文結合 3 針 3 孔、4 芯、5PIN、8 芯圓形防爆連接器運行特性,梳理異響卡頓故障根源,制定標準化清潔修復流程,保障防爆航空插頭對接順暢、密封到位。關鍵詞:圓形防爆連接器,防爆航空插頭,防爆端子接頭,防爆接插件,插拔卡頓,IP67,5PIN,8 芯,防爆傳感器航插接頭1 產品概述圓形防爆連接器公母頭依靠精密鍵位、冠簧插孔、密封面精準配合實現對接。現場粉塵堆
    kyfbest科迎法電氣 2026-08-12 11:43 195瀏覽
  • 導語:根據CINNO ? ePaper Insight數據,2026年上半年,全球電子紙終端總銷量約2.9億臺(枚),同比增長25%。其中,電子紙價簽終端銷量2.8億枚,同比增長27%,繼續成為產業增長的核心動力;電子紙平板銷量610萬臺,同比下降超過16%,較2025年上半年730萬臺有所回落。細分市場看,閱讀器銷量480萬臺,辦公本銷量130萬臺。整體來看,電子紙應用結構進一步向智慧零售集中,價簽高景氣與平板階段性調整形成明顯分化。全球終端銷量同比增長25%,價簽貢獻主要增量CINNO ?
    CINNOResearch 2026-08-12 11:05 187瀏覽
  • 導語:進入8月,全球LCD TV面板采購需求受年底大促備貨、以價換量策略雙重拉動呈現邊際回暖,但修復力度整體有限。由于頭部面板廠持續維持高稼動生產,行業供需格局仍處寬松區間,面板價格整體延續小幅回落態勢,尺寸結構性分化特征持續顯現。CINNO Research 簡評今年8月,全球 LCD TV面板市場呈現需求弱修復、供給高位運行的特征,整體價格延續下行且結構性分化顯著。需求端受年底大促備貨、以價換量策略拉動邊際回暖,但修復力度有限且建立在以價換量的基礎上;供給端高世代線稼動率維持85%以上,供需
    CINNOResearch 2026-08-12 11:00 145瀏覽
  • 8月8日,國聯民生證券發布了一則公告,內容表明公司董事會收到了非執行董事楊振興提交的辭職報告,其因個人原因辭去公司非執行董事這一職務。而且在辭職之后,楊振興將不再擔任國聯民生證券以及其控股子公司的任何職務。僅僅兩天之后,公司第六屆董事會第7次會議召開,這次會議一口氣通過了多項議案,包括審議通過《國聯民生證券股份有限公司“十五五”發展規劃(2026-2030)》、1億至2億元A股回購方案以及為子公司民生證券提供不超過40億元的動態凈資本擔保承諾等等。同時,為優化資源配置,公司還擬減少民生證券注冊資
    用戶1782919753097 2026-08-13 00:00 92瀏覽
  • 隨著AI算力需求的爆發式增長,400G、800G乃至1.6T高速光模塊正加速走向商用部署。在這場速率競賽的背后,一個不容忽視的挑戰正浮出水面——硅光模塊對溫度的“敏感體質” ,正在成為可靠性驗證領域的新課題。一、為什么硅光模塊如此“怕熱怕冷”?傳統光模塊主要采用III-V族化合物半導體材料(如InP、GaAs),而硅光模塊則以硅基材料為核心,借助CMOS兼容工藝實現光電器件的單片集成。這種技術路線帶來了成本低、集成度高、功耗小的優勢,但也埋下了溫度敏感性的隱患。根源在于材料的熱膨脹系數
    用戶1774416745629 2026-08-13 09:40 87瀏覽
  • 100 字導語工業防爆鎧裝線纜硬度高、結構特殊,普通圓形防爆連接器密封結構難以適配,極易出現夾不緊、滲水、線纜滑脫問題。本文針對鎧裝線纜特性,匹配 4 芯、5PIN、8 芯防爆法蘭插座安裝工藝,明確鎧裝固定、密封壓緊、應力釋放全套施工標準。關鍵詞:圓形防爆連接器,鎧裝線纜,防爆法蘭插座,防爆防水連接器,IP67,8 芯,防爆電源接頭,防爆接插件1 產品概述鎧裝線纜自帶金屬保護層,硬度大、不可隨意彎折,常規塑料密封套無法有效抱緊。很多現場直接使用普通格蘭密封鎧裝線,導致尾部密封失效、鎧裝層懸空松動
    kyfbest科迎法電氣 2026-08-12 12:48 237瀏覽
  • 一只光模塊在出廠前,要在-40℃的極寒、25℃的常溫、85℃的高溫之間反復“渡劫”。稍有不慎,輕則參數漂移,重則整批報廢——這就是三溫測試,高速光模塊量產前的最后一道生死線。引言:AI越熱,測試越難AI數據中心的爆發式增長,讓400G、800G甚至1.6T光模塊的需求如火箭般躥升。但鮮為人知的是:光模塊速率每翻一番,測試時間卻不降反升。一組殘酷的數據對比:速率單只模塊測試耗時測試設備帶寬要求400G約15-20分鐘50GHz800G約20-30分鐘50GHz1.6T約40-60分鐘≥65GHz設
    用戶1774416745629 2026-08-12 13:36 234瀏覽
我要評論
0
點擊右上角,分享到朋友圈 我知道啦
請使用瀏覽器分享功能 我知道啦
主站蜘蛛池模板: 半糖动漫高清免费观看| 飞屋环游记电影国语版免费版观看| 放学后恋爱| 禁欲韩国| 宿醉2在线观看| 老旦是一棵树电视剧全集在线观看| 360大佬爱上我第二季免费 | 特殊争夺| 人猿泰山1995版| 小寡妇在线观看免费播放电视剧| 陕西卫视回看| 大清盐商剧情介绍| 华丽的外出全集| 《女超人麦乐迪》电影免费播放 | 私人女姓监狱| 老公不在我和公发| 高中生被C到爽哭视频免费| 小品卖拐| 陆贞传奇电视剧59| 《炸天小姐》电影在线观看| 一路向西2在线观看| 高清《法国空姐》| 火影忍者在线看免费观看| 滑稽时代国语高清| 动感之星妖精168| 母乳喂养宣传片10分钟| 电视剧幻影全集| 爱恨之约11| 魔鬼天使电影| 小小影院《法国少女农埸| 熊出没·伴我“熊芯”免费| 电视剧 红楼梦| 犬夜叉第二季| 电影《法国女仆》免费观看| 莫妮卡爱我几何| 手工制作丝网花| 唐人街探案3 MAGNET| 《主人》电影在哪里看| 爱i情公寓1| 大胸的丰年经的继拇| 公媳在线观看| 夫妻换房在线| 电视剧东陵大盗| 两个人的寂寞| 黏糊糊的你| 冯巩个人简历简介| 仓井空成人电影| 假面骑士geats| 玛德琳斯托大r度| 《乳房按摩》免费观| 地久天长豆瓣| 乘风2024免费观看完整| 奢香夫人原唱完整版| 分手大师西瓜影音| 爱我几何免费完整观看高清| 心动的信号第8季| 李多海资料| 快乐星球第六部| 韩剧《我是谁》免费观看| 超级教师3免费版电视剧| 舒淇主演《玉女心》电影免费观看| 谏臣韩剧免费播放在线观看全集| 高压监狱2法版| 为人民服务免费完整版中文翻译| 卢旺达的玫瑰 在线| 高清沧元图 前传:东宁府的夏天 狂飙电视剧全集免费在线观看 | 浮世风情绘 电影免费观看| 美丽小蜜糖在线观看| 电影《美味快递员》演员阵容| 麻雀电视剧免费全集观看| 电影《水电工人的绝遇》免费| 金玉满堂全集| 电视剧花非花雾非雾全集| 正者无敌电视剧| 斗罗大陆电视剧免费版| 邓家佳除却巫山无删减版| 断背山高清下载| 大男当婚mp4下载| 朋友的妈妈电影| 新乱世佳人电视剧免费观看全集| 日本战狼6免费版| 万古仙穹动漫第二季| 一网打尽 印度电影| 坎贝奇的《品味人生》免费完整版| 一棵树被雷连劈13次| 春来定风波电视剧免费看| 日本JIZZ| 电视剧扫毒全集在线观看| 插曲的痛30免费观看| 好运全集观看| 希德尼娅的骑士| 侄女的开发日记动漫第12集在线观看| 天蚕变电视剧| 《幸福花园》双男主动漫免费看| 歌曲再度重相逢| 斗罗大陆2在线观看免费高清| 黑人中文字幕| 完美世界剧场版在线观看高清 | 情深深雨蒙蒙35| 古堡女仆的服务电影免费观看| 圣手仁医短剧在线免费看| 大内密探灵灵狗电影| 十跪爹娘| 爱我多深莫妮卡| 玄女心经2免费观看完整版高清| shameless第三季免费观看| 与小仙女混居的日子| 主播夏娃| 欢迎来到实力至上主义教室在线观看| 维修人员的培训 在线| 最佳爱情电视剧| 《急诊护士在线观看| 百度蹊径| 需要爸爸播种超凊免费真在线看| 隋炀帝电视剧| 时光正好电视剧免费观看全集高清| 壮志凌云满天星女版在线观看| 星空在线观看免费| 拿下丈夫的下属| 韩寒中文网| 完美犯罪在线观看免费完整观看| 海棠大肚产子机器美人| 男与女完整版电视剧免费高清韩剧| 初恋时间第一集在线观看免费高清| 电影《美人鱼》| rbd-509| 撞车电视剧| 一拳超人第二季免费观看高清| 打老婆屁屁的故事| 和讨厌的部长一起去出差旅的电影叫什么 | 女人生小孩全过程| 多家快递公司回应新规| 美丽又紧致凯帕克英文| 《私人助理2》韩剧| 加勒比海盗完整版1| 侠客行全集| 麦乐迪马克思女超人在线观看完整免费高清原声满天星百 | 庙街故事国语| 骚女视频| 黑悟空概念股| 韩剧泡沫爱情| 高压监狱法国| 洗冤录第一部国语全集| 朝国年经继4免费看 | 海上孟府电视剧全集| 劳拉的痴迷1996电影免费播放 | 火口的二个人| 佐罗满天星版被禁播原因| 平凡的世界电视剧全集| 罗丽星克莱尔总统之夜在线观看| 纯情罗曼史第一季全集在线| 战狼6妈大牛| 终极快递国语| 保罗2雪莉一家| 儿女情更长电视剧全集| 电影需要爸爸播种子免费完整版在线观看 | 予她半城短剧免费观看全集| 蛇王波后彭丹国语版免费| 电影金光大道| 维修工人的艳遇| 以爱为营全集| 潜伏全集百度影音| 你微笑时很美免费看| 今年夏天| 1995版新金银悔1-5普通话| 水饺皇后电影| 戴森吹风机官网售后| 佩洛西连发4条推特 没提台湾| 聊斋残卷六道天书电影在线观看| 莫少琳电影全部免费播放| 电视剧无间罪免费观看| 女教师4P被黑人伦轩| 勇者王粤语| 和喜玉兰免费观看完整版高清| 平凡的世界电视剧全集| 邻家特工中文版| 阅兵式2015高清完整版| 龙门镖局多少集| 省港一号通缉犯未删减版百度云| 魔女与魔神| 女保镖丽萨满天星| 大耳朵图图动漫| 敦化市| 致命女人第一季| 农村小杨要努力| 谢孟伟《无主之城》在线观看 | 韩国电影在线观看修理工的艳遇| 黄yyid频道| 《21世纪爱情指南| 小舍得电视剧| 爱上黑道女友完整版| 星球大战3百度影音| 电影泰坦尼克号| 农民伯伯2第二部国语版在线观看| 铁血昆仑关电影| 三年大片高清观看完整版在线观看| 丰胸按摩沙龙| 独家记忆评价| 胭脂电视剧免费观看| 斗罗大陆双神战双神导演剪辑版 | 电视剧新白娘子传奇| 拜托小姐 国语| 黑天使快播| 兵王都市:护花使者全集免费| 美国式忌讳结局1-5| 卿本佳人 在线| 《初恋时间》1-6全集免费观看| 朋友的老婆1| 义姐是不是良喂养樱花第一集动漫观看 | 朱孝天版楚留香传奇| 朋友的妈妈2线在线播放| 时间都知道 电视剧免费观看| 斗罗大陆206集免费观看| 人民的名义42| 宝乐婶的烦心事全集| 《好久不见》韩剧在线观看 | 高清《朱音落语》电视剧| 《美丽屋景卖房子》| 异国恋爱浪漫谭| 激战丛林》完整版免费| 女战神:沙场归来宠家人短剧全集| 隔壁邻居电影| 靳东当选全国政协委员| 我的游泳女教练电影| 我是mt第三季| 倔强驱魔师1-4集免费观看| 一笑随歌40集全免费播放| 渔夫的荒野史记七仙免费观看| 法国灭火宝贝1-4集| 雾柳镇全集| 新金瓶梅电影全集| 咱们家那些事| 剑谍下载| 孤单又灿烂的神-鬼怪 百度云 | 强心脏yg| 无限挑战 111231| 李一桐ai换脸在线观看| 我们战斗吧在线看免费完整版 | 堂梦电影| 极限救援优酷| 俘虏之锁全集下载| 莫比乌斯电影完整版免费观看| 《高压监狱2》法国版正版 | 《爱我有几何》免费观看| 大头儿子小头爸爸全集连续播放| 水手服饲养未减版主演是谁| 我在故宫修文物大电影| 怒水西流| 男按摩师三级在线看| 艋胛 电影| 日军在越南的暴行2| 唐朝诡事录超清免费观看电视剧| 地铁举行集体婚礼| eeUsS| 金金丁字广场舞私人订制| 麦乐迪《女超人》在线观看 | 卢旺达的玫瑰完整版在线观看| 华为见非凡品牌盛典| 姐妹牙医在线电影播放完整版| 今晚睇李| 国家机密电视剧| 恋慕韩剧免费观看| 皇后驾到短剧| 当我飞奔向你免费看全片| 罗曼蒂克消亡史电影未删除完整版| 新水浒孙二娘| 七彩祥云烟花多少钱| 甜蜜惩罚13| 刀锋战士百度影音| 女保险公司推销员8中字的特点 | 乍见欢短剧免费看| 敢死队1在线观看| 《老公的秘密》大结局| 布衣知县梵如花| 《最终痴汉电车1》| 铁甲钢拳高清| 凯登克罗斯电影高清播放 | 恶魔奶爸59| 特殊治疗6| 一千滴眼泪吻戏| 狂飙免费播放| 姐妹们说说老公是怎么进入的| 女版《壮志凌云》高清完整版| 原来她很甜1v2| 全城大佬跪迎:傻婿觉醒短剧全集| 斗罗大陆第149集| 电视剧特殊争夺全集| 宝贝计划全集| 少女潘金莲下载地址| 我的爸爸在吃我| 电影《孟良崮》| 不是问题的问题| 南海归墟电视剧16集免费观看| 漂亮的保姆完整视频在线观看| 海天盛筵外围女被捕| 秘密爱在线观看| 体面吉他谱| 爱情有点蓝第二部| 近期好看的电视推荐| 色即是空2015字幕| 黄骗免费网站| 四少妇性按摩中字| 梦想三国原版电视剧在线观看免费| 21世纪爱情指南在线观看免费播放 | 铁血尖刀| 木下檀檀子完整版电影| 没有怜悯的世界免费高清观看| 《法国空乘2》三级| 禁室培欲电影| 渔夫的荒野史记七仙免费观看| 西出玉门电视剧免费看| 他说爱情已迟暮免费| 暗香电视剧在线观看免费完整版| 西游记之女儿国电影| jul-150丈夫不在的五天| 加勒比海盗在线观看| 姜子牙电影免费完整版在线观看 | 奥特曼大电影国语| 花与蛇3 影音| 男得有爱电影完整版| 肮脏女医生 电影| 刑警的日子电视剧免费观看全集| 赤坂丽肉奴千金未删减| 哀江南赋| 梦想天空分外蓝 陈奕迅| 高清《杀破狼2》在线播放| 金石良缘国语下载| 小凤(下)| 印度巨蜥事件| 乡村爱情10 下载| 女战神归:家人宠爱全集免费| 画皮之阴阳法王完整版免费观看 | 感受大海的时刻电影| 做爰欲海潮| 冠心病最怕什么刺激| 鹿铃免费| 《空中小姐》凯登克罗斯在第几集 | 追爱家族| 上司来我家做客 完整版| 动画乐翻天| 卢旺达的玫瑰满天星| 延禧攻略70集免费播放完整版| 星克莱尔《总统夫人》| 狂欲的庄园| 瓜达卢佩的玫瑰 在线观看| 暴露1982超清| 曹阳 MOKO| 永不回头电视剧| 第八感剧集电视剧| 电影爱我几何| 满天星电影在线观看完整免费高清| 《花与蛇5之终极阴谋》| 锦绣未央43集| 叔嫂恋2之血恋免费普通话| 直击宁夏银川震后现场| 马鞍山市| 情罪男声撕心裂肺完整版| 河南法治频道在线直播7:50| 天衣无缝的她| 过家家未删减| 凯登克罗斯电影全集资源| 5个孩子的妈妈要努力| 《塞伦三部曲》堕落男童| 党同伐异免费| 女版战狼10高清免费看| 如虎之年1987| 美容院:特殊待遇| 猎罪图鉴2免费完整版电视剧| 缘来如此| 老同学6普通话免费版| 锡剧珍珠塔全集| 今夜无人入睡视频免费观看在线| 《海洋之恋》电影| 越南〈性暴行〉电影| 被三个黑人折腾折惨叫| 爱情公寓精装版全集| 新楚留香任贤齐版高清| 雪中悍刀行第二季全集在线观看| 暴躁老妈46集全白话免费看| 忍者龟第四季| 新有菜在线| 碟中谍15在线观看免费版高清| 喵绅hcmoic网页入口| 几度夕阳红电视剧| 韩剧免费观看高清完整版在线观看| 《落魄贵族琉璃川》在线观看中文| 二级三级配电箱区别| 西班牙电影《掌中之物》在线播放 | 清潭洞住着吧| 欢乐颂第一季在线观看免费高清| 持续侵犯高傲女教师| 我的土地我的家| 女超人麦乐迪无删减版| 广西二哥参加中国好声音是哪一期| 新潘金莲龚玥菲免费版| 孤独剑客| 天狼星行动| 《姐姐真漂亮》中韩歌词| 徐若瑄终极猎杀| 三飞女闺蜜| 想你爱你更恨你美国版| 新金银悔5| 聊斋志异之颠龙鸾凤颠鸾倒凤 | 法国空乘| 东北黑道风云20年2| 和喜玉兰免费观看完整版高清| 中国梦之声第一季| 女超人满天星版麦乐迪马克斯| 甜蜜惩罚免费观看全集| 蒲松龄国语| 第22条婚规全集在线观看| 湄公河行动电影| 白丝带电影| 和大胸大乳继拇做爰| 离婚协议电视剧| 三姐妹电影版| 赤桥下的暖流完整版| 我和我的家乡电影免费完整版| 我的女友是二嫂| 《特殊快递员》| 樱桃小丸子来自意大利的少年| jizz日本免费| 鸟井美希| 韩剧《无法抗拒的你》全集| 《我的身体》1985年帕尼怀尔| 电影《落凡尘》免费观看| 睫毛膏3| 偷香在线观看完整版高清中文| 倪萍发文感谢蔡磊夫妇| 1995版《泰山和珍妮丛林》免费观看在| 鬼灭之刃柱训篇| 王蓉蓉龙凤呈祥| 文旅产业从“流量”变“留量”| 摆渡人电影| 人马配速60分钟视频教程| 亲爱的老师免费观看完整版高清| 父母爱情免费观看| 《水润人生》刘志贤| 人民的名义48| 伦文叙老点柳先开| 家庭矛盾4麦乐迪在线| 陌路血地| 疯狂初恋电影在线观看免费完整版 | 古墓丽影1高清| 聊斋之花弄月在线观看免费版剧情介绍| 向往8最新一期完整版| 囡囡完整版| 电影《穿睡衣下楼取快递》| 网球王子日语动漫| 致敬张国荣| 飞行的绣感| 小马宝莉之小马国女孩| 离婚首富:求婚开挂全集免费| 法国《女军医》满天星免费观看| 御岭秘录电影免费观看| 马向阳下乡记全集| 刚结婚和部长一起去出差旅电影| 真人版超级玛丽| 桃花在线观看免费高清电视剧98| 我不知道的妻子的真相貌| 常在你左右免费观看国语| 《飞机上特殊服务5》| 跪下吃他胯下的体育生H| 爱的罗曼史吉他简谱| 高压监狱2在线看| 最新僵尸电影| 真情玫瑰 电视剧| 战狼六在线观看完整版免费观看| 送给老师的歌| 使徒行者优酷| 男女一起愁愁愁| 小猎奇小猪佩奇25集视频| 兵团岁月电视剧| 蓝色隐身帽在线观看免费高清| 赤壁完整版| 大江大河3之岁月如歌在线观看| 西班牙电影《掌中之物》完整版免费| 暴躁老妹csgo免费观看| 不良人第7季在线观看全集免费高清| 《美容院特殊待遇》在线观看| 我们结婚了2010全集| 七彩祥云烟花多少钱| 0女员工的付出中字| 绝世网红韩剧| 南华县| 超时空辉夜姬!未删减| 被闺蜜捆绑震蛋折磨调教| 21世纪爱情指南免费看在线| 杰瑟普湖| 冷暖人生溺爱| 《替夫还债》高清完整版| 幼儿园男童送女孩200克金条| 公子倾城| 黑白配1080完整版免费观看| 危情英雄| 斗罗大陆唐门英雄传| 女超人满天星版麦乐迪马克斯| 孟瑶银饰喂奶| 幸福满屋 电视剧| 战狼6国语版高清下载| 景甜被罚没722万| 美国电影娃娃脸| 菲律宾合租电影满天星四星| 经典娃娃脸电影| 《花琉璃轶闻》电视剧| 电影视频在线观看完整免费高清原声满天星在线观看 | 门弟电视连续剧| 顶级人生第二季13集免费观看全集| 满天星《炸天小姐》完整版在线观看| 没穿内裤的领队在线观看| 龙马精神免费高清观看完整版| 《公的浮之手中字》免费| 神隐电视剧在线观看全集免费播放| 可爱的恶女| 女销售| 旋风少女| 文成公主王庆爽| 美国《爱上儿子》电影| 星星的约定| 圣斗士星矢冥王神话ova| 和部长一起去出差日本电影| 奇妙的命运呀电视剧免费观看| 邻家特工中文版| 终极快递2| 你比星光更美丽免费观看全集| 新来的私人瑜伽教练| 劝君惜取少年时| 胡鑫宇失踪案时间线| 壮志凌云女版美国满天星| 上海滩简谱| 宁陵县| 从你的全世界路过电影下载| 灯草和尚2完整版普通话| 正在播放:JUL-601 你真的是处男吗?因为发现丈夫出轨被自称童贞的男子欺骗身心 | 耿马| 欲在线观看| 少女免费观看高清电视剧| 沙龙美容服务| jizz教师| 洪武大案下载| a篇在线观看| 亿万第二季| 吸血家族汤普森| 女男变错身百度影音| 亲吻姐姐第1季全集| 浪漫女家教台剧在线播放| 美国派9我爱熟女| 烧饼皇后下载| 韩国电影房产销售的秘密| 盗墓笔记超级季播剧| 雾都奇遇夜电影免费观看| 风起洛阳 电视剧| 荒岛生存| 韩国电影需要爸爸的种子| 黑衣人2高清完整版| 恶魔奶爸2季| 24世纪性格爱情指南大结局 | 你是我的花朵mv| 学生的妈妈中字ID5| 《催眠项圈》完整动漫在线观看 | 《父债女偿还》完整版| 一路狂奔电影完整版| 甜美姐姐在线免费看| 华胥引之绝爱之城电视剧全集| 两个只能活一个电影| 《麦乐迪女超人》正在播放| 花宵道中在线免费观看| 爱我几何《莫妮卡》| 刘亦菲为了气我真是什么戏都接| 《民间怪谈录》在线观看| 妇科诊室2满天星| 老舅1-27集免费看| 巨蟒大战食人鳄| 销售员2| 龙帅归来:都市风云再起全集免费| 学生妈妈5个字ID| tek-081| 《外出》免费观看完整| 坠落女律师k82经典台词免费阅读| 白白电影| 电视剧樱桃正红| 法国空乘2023无删减版| 外出2在线观看电影免费全集| 绿茶妹2 微电影| 农民伯伯下乡2国| 中方突然宣布出兵| 赚他一千万| 辛亥革命下载| 偶像练系生| 麦乐迪女超人A片免费看| 三生三世枕上书56集免费观看| 争宠攻略全集免费| 冬暖花会开| 《少女农场》电影在线| 地下法庭完整版在线观看影片| 烈火男儿之队长的故事| 北风那个吹在线观看免费完整版| 不速之客 电影| 麦乐迪女超人哪里能免费看| 摆渡人电影| 爱我几何电影在线观看免费莫尼卡 | 強暴處女1-12系列| 赛仑版渔夫和他的妻子 | 五号特工组第三部免费观看完整版| 我和我的祖国免费| 鬼眼刑警| 偷情水电工伦理片| 最新二人转| 情满雪阳花电视剧| 高压版女子监狱满天星| 电影关云长| 怒水西流| 肯德桑德兰满天星主演是谁| 蛇舌电影完整版| 《大风杀》电影HD| 二阶堂梦| 潜伏者电视剧免费播放| 一世清欢短剧在线观看| 我的娜塔莎下载| 凯登克罗斯电影高清播放 | 海天盛筵haobc| 恶魔奶爸2季| 在线观看卖房子的女销售| 《美丽妻子替弟还债| 小时代2迅雷下载| 牌坊下的女人| 爱我几何在线看免费完整版| 草莓月亮全集观看| 警方证实33岁女子在出租屋离世 | 斗罗大陆第144集| 最近韩国电影免费观看高清版| 三个少妇按摩记在线播放 | 《卖百科全书的女人》| 上海春游迎人从众模式| 和老板在办公室BD 中文| 多哈十米台决赛| 法国电影空乘2完整版在线观看中文字幕| 何所冬暖 何所夏凉电视剧 | 天美影院电视剧在线观看免费视频 | 性表演俱乐部〈2〉| 闪婚厚爱全集免费| 聊斋奇谭2之天宫美人| 强奸系列电影| 混血儿摇篮曲1973正版播放| sejiji| 高清《九重紫》在线观看电视剧| 大牛影库存战狼6免费观看| 武状元苏乞儿周星驰| 《朋友夫妇:交换》3| 宝坻区| 庆余年2在线播放免费高清视频| 不日成婚| 迷雾追踪在线观看免费完整版全集| 麦乐迪《家庭矛盾》在线观看| 金瓶酶2| 南海归墟电视剧16集免费观看| 赵薇资本布局已20年| 与鬼同眠| 老泥妹| 沉默的羔羊香港版| 龙门县| 命运之夜天之杯| 诱人的女邻居BD在线观看| 电视剧追日| 美乃雀 在线观看播放| 新娘十八岁韩剧| 少女动漫在线观看全集| 两人世界插曲30分钟| 双面娇娃| 杰克逊鬼怪| 黑白配国语免费观看| 没落贵族琉璃川动画片| 47集旗袍电视剧免费观看| 男生女生在一起愁愁愁电视剧在线观看 | 水浒传27| 河套宽频| 3d如蒲团| 盐亭县| 归晓路炎晨电视剧免费观看| 不闻女学堂| 高清《斛珠夫人》免费观看| 白雪公主意大利成版1995中字| 没离开过原唱| 陪看:林诗栋vs张本智和| 漂亮妈妈9中字开头歌曲| 柏原崇电视剧| 范冰冰初恋| 人猿泰山电影1995版在线播放| 《邻居家的妻子》韩剧无删减| 唐朝禁宫秘史在线观看| 售楼小姐的秘密韩国电视剧| 电影《恶行》在线观看| 死神来了5免费观看完整版| tobu4| 冷暖人生2013| 纯真年代2015| 关中往事30集连续剧免费播放| 法国足球宝贝在线观看| JIZZ学生妺| 念念相忘电视剧全集在线观看免费| 电影无人区全高清完整版| 完美世界免费观看全集| omoflow第一季真人版免费 | 飞虎出征什么时候上映| 政宗君的复仇 动漫| 莫陌2微电影完整版| 新金银1—5| 杰森鲁夫满天星电影合集| 礼物电影完整版在线看| 大安市| 肉欲横流| 爱在旅途电视剧| 隐秘的角落在线观看| 《法国空乘11》伦理HD| 指环王:力量之戒第二季| 武庚纪在线观看| 王多鱼打扑克视频在线免费观看| 广州火车站售票时间| 完美受害人在线观看| 西部通缉令 在线观看| 高清《女巫》在线观看完整版| 日本一本到道免费| 部长夫人的秘密| 恶作剧之吻韩版网络版| 冰冷热带鱼电影无删减完整版| 法国高压监控完整版| 小女霓裳电视剧免费| 我在北京挺好的全集| 瓜棚女杰| 【JUL-975(中字)老公不在家5日间 身心被性豪公公彻底调教 水川堇#鬼父】https | 状志凌云满天星无删减版| 黑帮大佬我和我第365天男主| 年轻的小搜子2| 监狱女狱警法国剧| 《无憾》电影在线观看| 好事多磨电影完整版在线观看| 恩爱两不疑全集免费观看完整版| 特邀外卖员电影完整版免费高清| 女体铳电影完整版免费观看高清| 命中注定我爱你剧情介绍| 新女附马| 完美妻子满天星在线观看免费高清 | 职业猎人| 杀破狼国语高清| 台前县| 男按摩师中字电影| 少年方世玉张卫健高清| 无名天使3d国语| 要爸爸的种子| 粗野派免费观看完整版普通话| 身为超人弟弟的我却成了祖国人| 老湿第10部| 《史前女儿国部落3》| 幸福的黄手帕完整版| 卧鱼在线观看免费全集高清完整版| 出生入死电视连续剧| 洗衣机维修工的艳遇| 银魂188| 比特铃手机diy大师| 台湾新婚之喜| 犯罪都市4高清完整免费观看| 我的野蛮女友国语版| 《唐诡奇谭之九重楼》| 小早川玲子A V电影| 张悦楷免费粤语讲古大全| 披荆斩棘第4季在线观看| 天地都在我心中| 壮志凌云2(啄木鸟)在线观看| 美妙旋律第三季| 攻击鬼魂13号电影| 傻儿司令| 贵妇人街电影版免费观看中文| 《水浒传》在线播放| 暴躁老妈46集免费观看| 高清《桃恋者》电视剧| 煎饼侠 电影| 已满十八免费观看高清电视剧| 《俘虏之锁》第二集| 我怀了你的孩子第7集免费| 大兵日记全集| 超级整蛊霸王国语版| 小峓子高潮理伦片| 爱情公寓在线观看完整版免费| 爱丫爱丫免费观看高清版短剧| 总统之夜1997满天星版| 外出2在线观看电影免费全集| 团鬼六电影免费版全集在线观看| 酋长的女儿红辣椒| 爱如几何| 仁心俱乐部电视剧免费观看| 焕羽电视剧免费播放在线观看10| 理伦电影第2季| 镜月如歌全集免费观看| 《偿还3》完整版| 工作女郎韩国| 荒野女战士HD版播放| 金太郎的幸福生活电影版| 模范出租车电视剧第一季| 《我的老师中字ID》9| 《维修工人的艳遇》1| 印度三级偷妻| 王牌部队第40集免费观看| 屌丝男士第4季全集爱奇艺| 妻子的妈妈双字ID| 白峰美羽被马操的电影| 为您服务| 狄仁杰第四部免费全集播放| 学生妈妈的麦子| 《特殊交易》在线观看高清| 我和丰满瑜伽老师| 好姑娘4完整版在线观看| 做aj的电视剧大全免费观看导演金| 黑暗荣耀1| 电车痴汉小说| 趁人电影| 《激战丛林》满天星在线看| 林凡短剧免费观看全集| 远古入侵第三季| 英雄免费| 播放_女律师的堕落_经典片_高清_K8经典网 | 福五鼠片头曲| 金银瓶1-5hd普通2| 僵尸道长1| 爱的勘探法电视剧| 高清《建军大业》电影高清在线观看 | 斗罗大陆2绝世唐门第五季| 《隐身蓝帽子》朴亚珍| 西游记续集 电视剧 在线观看| 正方体怎么画| 惊天奇案| 凯登克罗斯电影全集资源 | 歌剧魅影2004版| 1986牙医姐妹赤子板栗手机免费| 维密天使内衣秀2015| 死神千年血战第二季免费观看| 地藏经全文读诵| 特殊外卖员在线观看| 夜班经理 迅雷下载| 火流星剧情介绍| 波多野结衣 torrent| 飞翔女孩满天星免费观看| 落翅女的黄昏| 国产未发育的学生洗澡电影| 唐朝好男人电视剧全集| 中圆村妓三级片国语| 刺刀电视剧| 幸福密码电视剧| 《家庭矛盾》3麦乐迪| 扫黑风暴25集| 朋友的姐姐免费看| 《蓝色隐形帽子完整版|