世界微頭條丨RK3588開發板(armsom-w3)之PWM實操
PWM介紹
專欄總目錄PWM是脈寬調制(Pulse Width Modulation)的縮寫。它是一種用于控制電子設備的技術,通過改變電信號的脈沖寬度來實現對設備的控制。PWM基本概念
PWM信號由一個固定頻率的周期性脈沖序列組成,每個脈沖的寬度(持續時間)可以根據需要進行調節。調節脈沖寬度的比例可以改變平均電壓或電流的大小,從而實現對設備的控制。
當談論PWM時,以下三個關鍵術語經常被提及:
頻率(Frequency):PWM信號的頻率是指每秒鐘內脈沖的數量。
【資料圖】
周期(Period):PWM信號的周期是指一個完整脈沖序列所花費的時間。它是頻率的倒數,以秒為單位表示。周期可以通過將頻率的倒數計算得到,例如,一個10kHz的PWM信號的周期為0.1毫秒(100微秒)。
占空比(Duty Cycle):占空比是指PWM信號中脈沖寬度與周期之間的比例關系。它表示了脈沖在一個周期中所占據的時間比例,通常以百分比表示。占空比為0%意味著脈沖不存在(完全低電平),而占空比為100%表示脈沖持續時間占據了整個周期(完全高電平)。在實際應用中,占空比可以在0%到100%之間任意調整,以實現所需的控制效果。
PWM驅動
pwm驅動是一個通用的驅動,SOC廠家都會在SDK里面默認打開
驅動文件
驅動文件所在位置:
drivers/pwm/pwm-rockchip.c
默認SDK已經加載好了PWM的驅動,下文我們主要注意PWM怎么使用
DTS 節點配置
DTS 配置參考文檔
Documentation/devicetree/bindings/pwm/pwm.txt
以下為一個例子的示例
Node name { compatible = "Driver matching character"; pwms = < &pwmX 0 25000 0 >; }; &pwmX { status = "okay"; pinctrl-names = "active"; pinctrl-0 = < &pwmX_pin_pull_down >; };pwms的幾個參數說明如下:
參數 1,表示 index (per-chip index of the PWM to request),一般是 0,因為我們 Rockchip PWM 每個chip 只有一個。
參數 2,表示 PWM 輸出波形的時間周期,單位是 ns;例如下面配置的 25000 就是表示想要得到的
PWM 輸出周期是 40K 赫茲。
參數 3,表示極性,為可選參數;下面例子中的配置為負極性。
PWM使用
PWM 提供了用戶層的接口,在 /sys/class/pwm/ 節點下面,PWM 驅動加載成功后,會在/sys/class/pwm/ 目錄下產生 pwmchip0 目錄;向 export 文件寫入 0,就是打開 pwm 定時器0,會產生一個 pwm0 目錄,相反的往 unexport 寫入 0 就會關閉 pwm 定時器了,同時 pwm0 目錄會
被刪除,該目錄下有以下幾個文件:
enable:寫入 1 使能 pwm,寫入 0 關閉 pwm;
polarity:有 normal 或 inversed兩個參數選擇,表示輸出引腳電平翻轉;
duty_cycle:在 normal 模式下,表示一個周期內高電平持續的時間(單位:納秒),在
reversed 模式下,表示一個周期中低電平持續的時間(單位:納秒);
period:表示 pwm 波的周期(單位:納秒);
以下是 pwmchip0 的例子,設置 pwm0 輸出頻率 100K,占空比 50%, 極性為正極性:
cd /sys/class/pwm/pwmchip0/echo 0 > exportcd pwm0echo 10000 > periodecho 5000 > duty_cycleecho normal > polarityecho 1 > enablePWM應用實例
通常電子設備中應用pwm是比較常見的,比如風扇電機控制,電視背光控制, LED 照明調光、電動工具馬達控制、汽車加熱器等領域。
這里簡單介紹一下pwm控制LED燈實現呼吸燈效果。
呼吸燈需要燈的驅動與PWM的驅動結合,兩個驅動之間傳遞數據,我們可以在驅動中調用其他的驅動。
led是我需要的設備,這個設備用到了pwm,而pwm是用默認的驅動。
硬件上我們在開發板找到具有pwm功能的引腳
設備樹的修改如下:
/{breathing_light {compatible = "lhd,breathing_light_test";backlight {pwms = < &pwm8 0 25000 0 >;pwm-names = "breathing_light"; };};};&pwm8 {status = "okay";};寫一個驅動。內部在使用PWM子系統。形成了包含驅動的驅動。
示例代碼
驅動程序
#include < linux/init.h >#include < linux/module.h >#include < linux/fs.h >#include < linux/cdev.h >#include < linux/uaccess.h >#include < linux/types.h >#include < linux/kernel.h >#include < linux/delay.h >#include < linux/ide.h >#include < linux/errno.h >#include < linux/gpio.h >//#include < asm/mach/map.h >#include < linux/of.h >#include < linux/of_address.h >#include < linux/of_gpio.h >#include < asm/io.h >#include < linux/device.h >#include < linux/platform_device.h >#include < linux/pwm.h >#define RED_LED_DTS_COMPATIBLE "lhd,breathing_light_test" /* 設備樹節點匹配屬性 */#define LED_PWM_CMD_SET_DUTY 0x01#define LED_PWM_CMD_SET_PERIOD 0x02#define LED_PWM_CMD_SET_BOTH 0x03#define LED_PWM_CMD_ENABLE 0x04#define LED_PWM_CMD_DISABLE 0x05struct led_pwm_param{ int duty_ns; int period_ns;};struct red_led_dev { dev_t dev_no; struct cdev chrdev; struct class *led_class; struct device_node *dev_node; struct pwm_device *red_led_pwm;};static struct led_pwm_param led_pwm;static struct red_led_dev led_dev;static int red_led_drv_open (struct inode *node, struct file *file){ int ret = 0; //pwm_set_periodnnn(led_dev.red_led_pwm, PWM_POLARITY_INVERSED);//設置PWM信號的極性pwm_enable(led_dev.red_led_pwm);//啟用指定PWM設備,使其開始輸出PWM信號。 printk("red_led_pwm open"); return ret;}static ssize_t red_led_drv_write (struct file *file, const char __user *buf, size_t size, loff_t *offset){ int err; if (size != sizeof(led_pwm)) return -EINVAL;err = copy_from_user(&led_pwm, buf, size); if (err > 0) return -EFAULT;pwm_config(led_dev.red_led_pwm, led_pwm.duty_ns, led_pwm.period_ns);//配置PWM設備的基本參數,如頻率、占空比等。 printk("red_led_pwm write");return 1;}static long drv_ioctl(struct file *filp, unsigned int cmd, unsigned long arg){ int ret = 0; void __user *my_user_space = (void __user *)arg; switch (cmd) { case LED_PWM_CMD_SET_DUTY: ret = copy_from_user(&led_pwm.duty_ns, my_user_space, sizeof(led_pwm.duty_ns)); if (ret > 0) return -EFAULT; pwm_config(led_dev.red_led_pwm, led_pwm.duty_ns, led_pwm.period_ns); break; case LED_PWM_CMD_SET_PERIOD: ret = copy_from_user(&led_pwm.period_ns, my_user_space, sizeof(led_pwm.period_ns)); if (ret > 0) return -EFAULT; pwm_config(led_dev.red_led_pwm, led_pwm.duty_ns, led_pwm.period_ns); break; case LED_PWM_CMD_SET_BOTH: ret = copy_from_user(&led_pwm, my_user_space, sizeof(led_pwm)); if (ret > 0) return -EFAULT; pwm_config(led_dev.red_led_pwm, led_pwm.duty_ns, led_pwm.period_ns); break; case LED_PWM_CMD_ENABLE: pwm_enable(led_dev.red_led_pwm); break; case LED_PWM_CMD_DISABLE: pwm_disable(led_dev.red_led_pwm); break; } return 0;}static int red_led_drv_release(struct inode *node, struct file *filp){ int ret = 0; pwm_config(led_dev.red_led_pwm, 0, 5000);//配置PWM設備的基本參數,如頻率、占空比等。 printk("led pwm dev close");// pwm_disable(led_dev.red_led_pwm); return ret;}static struct file_operations red_led_drv = {.owner = THIS_MODULE,.open = red_led_drv_open,.write = red_led_drv_write, .unlocked_ioctl = drv_ioctl, .release = red_led_drv_release,};/*設備樹的匹配列表 */static struct of_device_id dts_match_table[] = { {.compatible = RED_LED_DTS_COMPATIBLE, }, {}, };static int led_red_driver_probe(struct platform_device *pdev){ int err; int ret; struct device *tdev; struct device_node *child; tdev = &pdev- >dev; child = of_get_next_child(tdev- >of_node, NULL); /* 獲取設備樹子節點 */if (!child) { return -EINVAL; } led_dev.red_led_pwm = devm_of_pwm_get(tdev, child, NULL); /* 從子節點中獲取PWM設備,設備樹獲取這個設備就可以了 */ if (IS_ERR(led_dev.red_led_pwm)) { printk(KERN_ERR"can"t get breathing_light!!"); return -EFAULT; } ret = alloc_chrdev_region(&led_dev.dev_no, 0, 1, "breathing_light");//動態分配字符設備的主設備號if (ret < 0) {pr_err("Error: failed to register mbochs_dev, err: %d", ret);return ret;}cdev_init(&led_dev.chrdev, &red_led_drv);//初始化字符設備結構體cdevcdev_add(&led_dev.chrdev, led_dev.dev_no, 1);//將已經初始化的字符設備結構體cdev添加到系統中 led_dev.led_class = class_create(THIS_MODULE, "breathing_light");//創建一個設備類(device class)并注冊到內核中err = PTR_ERR(led_dev.led_class);if (IS_ERR(led_dev.led_class)) { goto failed1;} tdev = device_create(led_dev.led_class , NULL, led_dev.dev_no, NULL, "breathing_light"); //創建一個設備實例并注冊到設備類中 if (IS_ERR(tdev)) { ret = -EINVAL;goto failed2;} printk(KERN_INFO"%s %s line %d", __FILE__, __FUNCTION__, __LINE__); return 0;failed2: device_destroy(led_dev.led_class, led_dev.dev_no); class_destroy(led_dev.led_class);failed1: cdev_del(&led_dev.chrdev);unregister_chrdev_region(led_dev.dev_no, 1); return ret;}int led_red_driver_remove(struct platform_device *dev){ // pwm_disable(led_dev.red_led_pwm); // pwm_free(led_dev.red_led_pwm); printk(KERN_INFO"driver remove %s %s line %d", __FILE__, __FUNCTION__, __LINE__); device_destroy(led_dev.led_class, led_dev.dev_no);class_destroy(led_dev.led_class);unregister_chrdev_region(led_dev.dev_no, 1); cdev_del(&led_dev.chrdev); return 0;}static struct platform_driver red_led_platform_driver = { .probe = led_red_driver_probe, .remove = led_red_driver_remove, .driver = { .name = "lhd,breathing_light_test", .owner = THIS_MODULE, .of_match_table = dts_match_table, //通過設備樹匹配 },};module_platform_driver(red_led_platform_driver);MODULE_AUTHOR("LHD");MODULE_LICENSE("GPL");將上述驅動編譯為ko文件然后push進3588開發板里面
應用層程序
#include "stdio.h"#include < sys/types.h >#include < sys/stat.h >#include < fcntl.h >#include < unistd.h >#include < stdio.h >#include < string.h >#include < sys/ioctl.h >#include < poll.h >#include < stdint.h >#define DEV_NAME "/dev/breathing_light"#define LED_PWM_CMD_SET_DUTY 0x01#define LED_PWM_CMD_SET_PERIOD 0x02#define LED_PWM_CMD_SET_BOTH 0x03#define LED_PWM_CMD_ENABLE 0x04#define LED_PWM_CMD_DISABLE 0x05struct led_pwm_param { int duty_ns; int period_ns;};void sleep_ms(unsigned int ms){ struct timeval delay;delay.tv_sec = 0;delay.tv_usec = ms * 1000; select(0, NULL, NULL, NULL, &delay);}int main(int argc, char **argv){ int fd; int ret; /* 2. 打開文件 */fd = open(DEV_NAME, O_RDWR | O_NONBLOCK); // | O_NONBLOCKif (fd < 0){printf("can not open file %s, %d", DEV_NAME, fd);return -1;} int buf = 3;struct led_pwm_param led_pwm;led_pwm.duty_ns = 500;led_pwm.period_ns = 5000; write(fd, &led_pwm, sizeof(led_pwm)); sleep_ms(3000);while(1){if(led_pwm.duty_ns<=500){while(led_pwm.duty_ns< led_pwm.period_ns){ioctl(fd, LED_PWM_CMD_SET_DUTY, &led_pwm.duty_ns);sleep_ms(50);led_pwm.duty_ns += 300;}}else{while(led_pwm.duty_ns > 500){ioctl(fd, LED_PWM_CMD_SET_DUTY, &led_pwm.duty_ns);sleep_ms(50);led_pwm.duty_ns -= 300;}}}close(fd); return 0;}使用3588自帶的編譯器將用戶程序編譯進開發板
prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-gcc apptest_breathing_light_.c -o testpwm
adb push path/testpwm /userdata
chmod 777 testpwm
./testpwm
最后可以看到燈明滅交替的效果
審核編輯:湯梓紅
標簽:
電腦
-
ChatGPT原理是什么?ChatGPT對人類有哪些影響?ChatGPT發布以來,就迅速火出了圈,相當對的用戶都在下載體驗,對這個很感興趣,同時用戶們對ChatGPT實...
-
ChatGPT是什么意思?ChatGPT國內能用嗎?ChatGPT是什么意思ChatGPT是聊天機器人。嚴格來說,這是一種基于openAI的大規模學習語言,基于接收到的...
-
word自動生成目錄不全怎么辦?mathtype如何嵌入到word中?word自動生成目錄不全怎么辦word是通過識別標題的級別來自動生成目錄的,如果部分標題未設置級別,就會...
-
夸克網盤的文件怎么保存到百度網盤?微軟edge瀏覽器新功能怎么用?夸克網盤的文件怎么保存到百度網盤很多小伙伴為了方便下載并保存自己組要得各種資源,會進行各類網盤的...
-
word設置圖片環繞方式為四周型的方法有哪些?excel表格灰色不顯示內容怎么辦?word設置圖片環繞方式為四周型的方法word文檔的豐富功能想必大家是有目共睹的,大家在使用Word文檔編輯...
硬件
- 加熱鼠標墊會不會導致鍵盤失靈?發熱鼠標墊使用有哪些注意事項?
- 鼠標上的按鍵分別有什么功能?鼠標六個按鍵功能介紹
- 自己怎么組裝電腦?需要哪些配件?
- 移動硬盤不識別怎么辦?怎么解決移動硬盤不識別問題?
- 移動硬盤什么品牌質量最好?移動硬盤品牌推薦
- 有哪些便宜好用的機械鍵盤?機械鍵盤推薦
- 國產游戲手柄哪個牌子好?好用國產游戲手柄推薦
- 有哪些好用u盤推薦?u盤質量品牌排行榜前十名
- 怎么查看惠普筆記本是否支持SSD加速?有哪些方法?
- 聯想tinkpad t410開機失敗報錯fan error怎么辦?怎么拆機清理散熱器?
- 筆記本電腦怎么樣設置顯卡硬件加速?主板加顯卡可以提速嗎?
- g3250和i33240哪個好?CPUG3250升級可以升級成什么?
- 華碩水立方裝什么主板?華碩z590p主板可以裝幾張顯卡?
- 七彩虹b560m主板帶藍牙嗎?win10系統怎么連藍牙低音炮?
- 天津夏季達沃斯論壇期間將舉辦主題城市論壇
- 關于鐵路計次票、定期票 如何購買使用
- 天天訊息:老百姓的“柴米油鹽”不易拍
- 【獨家焦點】事關猴痘!廣東疾控最新提醒
- sd卡壞了修復手機軟件有什么方法
- 世界速讀:如何避免dxgmms1.sys藍屏問題
- 鄭裕美、李善均恐怖懸疑新電影《夢游》,坎城首映后獲外媒大贊 世界熱頭條
- 當前熱文:外媒曝Jennie將加入漫威, 或出演亞洲超級英雄電影
- aw是什么意思(awd是什么意思)
- geya手表怎么調日期視頻教程(geya手表) 今日熱搜
- 相術小說神作(相術小說)-前沿資訊
- 身懷六甲k線圖形(請問大家 在股市中 ldquo 身懷六甲出現 rdquo 走勢 是什么意思)
- 割雙眼皮失敗怎么修復術_割雙眼皮失敗的表現
- 環球百事通!誅仙網游主播_誅仙網游
- 環球觀熱點:西科大高新學院播音主持怎么樣_西科大高新學院
- 環球短訊!70天嬰兒搖頭怎么回事_嬰兒搖頭怎么回事
- 空難40天后,機上4名兒童在叢林被發現幸存,最小的只有11個月大
- 匯聚愛心 傳遞溫暖-世界聚焦
- 團伙設下“首付購車”騙局,黃石兩家4S店掉進陷阱
- 天天熱消息:三人團伙流竄多省數次搶劫,潛江公安千里追緝將人抓獲
- 環球熱推薦:得不到就毀掉!租客拿到6萬補償后“毀壞式”退房 被判賠償9萬元!
- 國鐵:今起12306試行在線選鋪服務 想要下鋪以后要拼手速啦!|全球最新
- 江蘇考生最愛報哪個專業?去哪里上學?大數據分析報告來了! 天天視訊
- 中國吸引跨國公司的不單是大市場
- august的由來_augus
- 世界最資訊丨交規考試題型_交規考試模擬題
- ivms4200電腦客戶端_ivms 4200
- 網上訂花哪家好_網上訂花哪個網站好 世界獨家
- 健康到家,您今日飲咗未?
- 每日一猜6月10日:哪款能重塑眼鏡人士新體驗-世界新視野
- 環球要聞:社交綜藝為何能成爆款
- 就離譜!甜妹竟然成了惡女標配?
- 當前簡訊:法網女雙歷史性一刻!王欣瑜/謝淑薇進決賽,海峽組合沖冠有意義
- 真金不怕火煉!掘金3-1熱火,NBA總冠軍只差一步-全球快看點
- 24核M2 Ultra處理器性能跑分出爐 Intel與AMD笑了:蘋果還嫩
- 天天信息:【夏收現場】 知識落“地”助豐收 耕地質量提升示范田小麥增產53.6%
- 浙江一鐵路旁工廠起火逼停列車 現場黑煙滾滾火光沖天!所幸無傷亡!_看熱訊
- 水淹道床影響列車運行!合肥發布情況通報
- 環衛母親與高考兒子相擁而泣刷屏,普通人改變命運的努力打動人心
- 一季度600余家在華外資企業對多項營商環境指標滿意度超80%
- dnf桃花特效下架了嗎(dnf桃花特效)
- 每日看點!汽車票網上訂票哪個軟件比較方便(汽車票網上訂票)
- 焦點消息!電影密鑰是什么意思(密鑰是什么)
- 什么癌癥適合靶向藥_哪些癌癥適合靶向治療-世界視點
- 治理脫發的藥_治脫發藥物有哪些-全球快消息
- 女性就業存在的問題及解決方法_女性便秘解決方法_當前熱訊
- 為什么會胃疼而且想吐_胃疼惡心想吐怎么緩解
- 火車計次票、定期票 如何購買使用_全球時訊
- 當前關注:貨車我私自報廢了賣廢鐵了,現在掛戶公司把告了
- 您好,2023.2.27我在一個網上購物平臺買了一件物品,價值4-焦點速訊
- 拆遷房家庭成員都有分嗎
- 福特:暫無計劃終止福特電馬赫公司業務運營
- 【速看料】廣州市2023年普通高考感謝信
- 吃喝玩樂購!快來一站式暢享非遺購 探訪非遺味 共赴非遺游!
- 全球觀焦點:RK3588-Camera:MIPI-CSI調試之通路解析
- 天天快看點丨RK3588-MIPI屏幕調試筆記:RK3588-MIPI-DSI之屏參配置
- 【新時代新征程新偉業】烏魯木齊市特色園區投資環境推介會舉行 會上成功簽約五個項目
- 【強信心 起好步 開新局】新疆糖酒會開幕 “新食力”引領“新食尚”_天天熱點評
- 【綠水青山就是金山銀山|踐行綠色發展理念 建設生態美好家園】和平渠今日正式通水 水源屬非接觸性綠化及景觀用水,不建議直接接觸
- 【焦點熱聞】“大市小集”,快閃店里有慢生活
- 2023高考今日落幕 多地公布志愿填報時間
- 天天速遞!師生吃同鍋菜要同價,并且可以互相選擇才是真標準
- 要把算計代入婚姻,那也別怪對方魔高一尺道高一丈-今日觀點
- 當前資訊!以前的食物,培育方法比較原始,沒有那么多高科技手段
- 世界熱文:《P3重制版》實體盤疑泄露:PS4/5和NS版也曝光!
- 聚焦:光線傳媒董事長透露:動畫電影《哪吒2》明年上映
- 全球信息:全國已收獲冬小麥面積2.04億畝——“三夏”機收快速推進
- 【環球報資訊】2022年全國住房公積金發放個人住房貸款超一萬億元
- 從一封未刊信札看董每戡在長沙的朋友圈 今日熱議
- 當前熱訊:如何促進新型研發機構高質量發展?廣州這樣做
- 美債野蠻生長 國防開支節節攀升
- 老河口:藍莓成熟季 等你來采擷
- 天天訊息:微軟準備在加拿大新建實驗室,將配備公司在中國和世界各地的AI專家
- 世界今亮點!中國商飛:加快形成獨立自主的研制能力、生產能力
- 中超泰山隊客場1-1三鎮,克雷桑扳平比分,費萊尼下輪停賽|天天觀天下
- 世界要聞:高考落幕——
- 實時焦點:cpu藍屏怎么解決
- 華碩BIOS修復藍屏解決方法需要哪些步驟-天天觀熱點
- 世界今日訊!思明區政務服務中心“政務智能辦”專區啟用
- 市質檢院研發項目有新進展 LED行業標準修訂獲工信部立項
- 世界今熱點:黃梅環保部門開展“靜音降噪”行動
- 黃岡市婦幼保健院獲首批國家級婚前保健特色專科建設單位 全球快看
- 天天速遞!這就是信心|優化營商環境 各地硬招、實招頻出
- 環球熱頭條丨第12屆金交會開幕,現場簽約總金額超3500億元
- 全球今熱點:江陰本土兒童劇《今天我是升旗手》全國展演
- C視頻丨四川這4個項目,誰最有可能沖刺世界文化遺產?丨文化和自然遺產日
- 我是大運火炬手丨鄧亞萍:希望大家享受體育帶來的健康和快樂 環球微資訊
- C視頻丨四川這5處世界遺產,你打卡過幾個?丨文化和自然遺產日_當前消息
- 天天速讀:黃瓜汁怎么榨好喝兒童(黃瓜汁怎么榨好喝)
- 小洗衣機什么牌子最好(兒童洗衣機什么牌子好)_天天播報
- 全球新消息丨200多分的專科學校遼寧(200多分的專科學校)
- 10寸平板電腦尺寸對照表圖片(10寸平板電腦尺寸)_今日要聞
- 嘴里長智齒疼怎么辦(長智齒疼怎么辦)
- 繁花嫩葉的意思在《春》(繁花嫩葉的意思)
- 狂犬病的早期癥狀(狂犬病的前兆)-每日播報
- 世界熱點評!年夜飯菜譜大全20道素菜(年夜飯菜譜)
- 從8000年前的刻符龜甲說起 成博新展用220件重磅文物解讀“漢字中國”|文化和自然遺產日
- 【世界速看料】頭狼:黃金下周1970-73區域布局空
- 《底特律》發行商公布獨立品牌:三款游戲待發售|當前快報
- 每日精選:最美童星長大后驚艷全網!16歲時因“不夠性感”被導演刷掉,她霸氣怒懟:惡心的豬!
電競
數碼
事件
- 世界微頭條丨RK3588開發板(armsom-w3)之PWM實操06-11
- 國家鄉村振興局開展農村廁所革命“提質年”|頭條06-11
- 世界今頭條!途家網怎么樣(途家網)06-11
- 豆豉怎么讀音是什么_豆鼓怎么讀06-11
- 云集美股漲14.51%06-11
- 焦點簡訊:蘋果M2 Ultra在Geekbench 5跑分并沒有碾壓英特爾、AMD,還不如i9-13900K06-11
- 上海海港排名榜首,主教練為何被喊下課?06-11
- 學制苗族銀飾 傳承非遺之美06-11
- 【聚看點】菲律賓馬榮火山噴發風險上升 阿爾拜省宣布進入災難狀態06-11
- 【全球熱聞】dnf拍賣行打不開了_dnf拍賣行打不開06-11
- 趕緊轉給爸媽!陜西警方緊急預警! 天天時快訊06-11
- lost one的號哭畫師是誰(lost one的號哭) 環球熱訊06-11
- 半自助火鍋,三位份為什么不能四個人一起吃|全球最資訊06-11
- 環衛母親與高考兒子相擁而泣刷屏,普通人改變命運的努力打動人心06-11
- 吳怡農為父13年前性騷女大學生發聲,網友不禁脫口1字-天天資訊06-11










