0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

開發(fā)者分享:輕松搞起CANFD

331062281 ? 來源:先楫半導(dǎo)體HPMicro ? 2023-08-01 10:28 ? 次閱讀

一、概述

先楫的CANFD外設(shè),有兩個(gè)CANFD的IP,其中HPM6700系列,HPM6400系列、HPM6300系列使用的是CAN,包括了經(jīng)典CAN和CANFD。而HPM6200系列則使用的MCAN系列,同樣也包括了經(jīng)典CAN和CANFD。兩個(gè)CANFD有所差異,hpm_sdk也分為了兩個(gè)驅(qū)動(dòng)文件,但基本的操作接口保持一致。

本文闡述HPM6700系列,HPM6400系列、HPM6300系列的CAN,這里就統(tǒng)稱為CAN。MCAN部分后續(xù)文章闡述。

先楫的CAN外設(shè)功能比較豐富,比如涉及到各種CAN模式、CAN錯(cuò)誤警告提示、時(shí)間戳等等??梢钥纯词謨?cè)CAN特征描述。

035e4882-3013-11ee-9e74-dac502259ad0.png

本文主要介紹CAN的基礎(chǔ)配置(引腳時(shí)鐘初始化,波特率設(shè)置,正常模式下的收發(fā)流程),其他的功能可參考hpm_sdk,后續(xù)根據(jù)需要也會(huì)進(jìn)行文章闡述。

本文以hpm_sdk的操作接口API為例子,進(jìn)而介紹CAN的相關(guān)知識(shí)。

關(guān)于更多的CAN/CANFD知識(shí)可以訪問CIA官網(wǎng),spec文檔可以參考ISO11898-1-2015。本文部分闡述都是基于CIA和ISO的描述參考。

二、實(shí)現(xiàn)流程

hpm_sdk中,關(guān)于can的例子在samples/drivers/can。使用的板子為hpm6750evk2.

(一)引腳初始化和功能時(shí)鐘初始化

對(duì)于CAN的引腳初始化,極其簡(jiǎn)單,只需要把引腳復(fù)用為CAN功能即可。參考hpm6750evk2的board中的CAN初始化。參考board_init_can API

03a598cc-3013-11ee-9e74-dac502259ad0.png

對(duì)于CAN功能時(shí)鐘的開啟,在hpm6750手冊(cè)中,默認(rèn)時(shí)鐘由時(shí)鐘源PLL1_CLK1F五分頻得到,PLL1_CLK1為400M,那么CAN的功能時(shí)鐘就為80M.

03d44f28-3013-11ee-9e74-dac502259ad0.png

同樣sdk當(dāng)中也做了相關(guān)時(shí)鐘初始化,參考board_init_can_clock API

04060806-3013-11ee-9e74-dac502259ad0.png

(二)波特率設(shè)置

對(duì)于CAN差分信號(hào),這里不做闡述,本文統(tǒng)稱的高低電平均為邏輯0和1。

uart一樣,都是需要每個(gè)位的的時(shí)間確定,保持雙方采樣的準(zhǔn)確。在CAN的概念中,有一個(gè)比較重要的次,BitTime(CAN位時(shí)間),這個(gè)決定一個(gè)bit傳輸需要的時(shí)間,這也決定了波特率。比如一個(gè)位傳輸200ns,那么1S就可以傳輸100000000(ns)/200(ns) = 5000000bit,也就是5Mbps波特率。

在先楫官方HPM6700_HPM6400_UM手冊(cè)當(dāng)中,對(duì)于CAN位時(shí)間有這么一段描述。

0416e842-3013-11ee-9e74-dac502259ad0.png

可以看到,一個(gè)位時(shí)序還包括了Sync_seg、Prop_Seg、Phase_Seg1, Phase_Seg2。Sample point指的是采樣點(diǎn),也就是這段電平保持時(shí)間中的采樣位置點(diǎn),比如200ns的位時(shí)間,采樣點(diǎn)80%,那么就是在160ns中采樣決定他是0或者是1。

在ISO11898-1:2015中,文檔也說明了這部分參數(shù)的定義。

0432c800-3013-11ee-9e74-dac502259ad0.png

04a08890-3013-11ee-9e74-dac502259ad0.png

這里比較重要的是Sync_Seg,這部分的位時(shí)間指的是同步段,用來同步CAN總線的節(jié)點(diǎn),若檢測(cè)到的跳變沿被包含在此段的范圍內(nèi),那么時(shí)序就是同步的,采樣點(diǎn)sample_point采樣到的電平就是該位的電平。上述可知道,該段的時(shí)間固定為1TQ,其他段時(shí)間均是相位的緩沖段,補(bǔ)償邊沿階段的誤差,保證位電平的穩(wěn)定和重新同步。具體可看ISO文檔解釋。

如果兩個(gè)節(jié)點(diǎn)位時(shí)間不同(各個(gè)位段時(shí)間不同),也就如果波特率不一樣或者差別到一定程度(CAN的波特率有一定的范圍,只要能保證采樣點(diǎn)的位置大致相同),那么采樣到的數(shù)據(jù)也有可能不一樣。所以對(duì)于位時(shí)間的各個(gè)段的參數(shù)需要保持一致,以便通信同步一致。

04dfdb44-3013-11ee-9e74-dac502259ad0.png

如果兩個(gè)節(jié)點(diǎn)位時(shí)間相同,CAN控制器會(huì)自身保持同步,同步的方式有兩種:硬同步和重新同步。

這兩種方式都必須遵守以下規(guī)則:

(1)、一位時(shí)間內(nèi)(兩個(gè)采樣點(diǎn)之間)只允許一次同步。檢測(cè)到邊沿后,應(yīng)禁用同步,直到下一次在采樣點(diǎn)檢測(cè)到的總線狀態(tài)為隱性。

(2)、僅當(dāng)在前一個(gè)采樣點(diǎn)檢測(cè)到的總線狀態(tài)(前一個(gè)讀總線狀態(tài))為隱性時(shí),邊沿才應(yīng)引起同步

(3)、當(dāng)節(jié)點(diǎn)處于總線集成狀態(tài)時(shí),在幀間間隔期間(除了間歇的第一位),以及在 CANFD 幀內(nèi),應(yīng)在邊緣上執(zhí)行硬同步。也就是在SOF上開始硬同步,其他bit都在重新同步。

(4)、滿足規(guī)則 1 和 2 的所有其他隱性到顯性邊緣均應(yīng)用于重新同步,但有一個(gè)例外:傳輸 CANFD 幀的節(jié)點(diǎn)在傳輸該幀的數(shù)據(jù)階段時(shí)不應(yīng)同步,而采取重新同步。

這里截取了ISO文檔說明:

052841fe-3013-11ee-9e74-dac502259ad0.png

1、硬件同步

在以上規(guī)則中,我們可以通過檢測(cè)SOF幀起始,SOF幀的開始就是在CAN總線空閑下(連續(xù)11個(gè)位的隱形電平,也就是邏輯1),一旦有顯性電平出現(xiàn),那就是有SOF幀開始,根據(jù)上述規(guī)則1和2,可以直接使用的是硬同步。硬同步會(huì)強(qiáng)制把位時(shí)間拉至邊沿,保持同步。這個(gè)階段不受同步跳轉(zhuǎn)寬度SJW限制。

ISO文檔同樣也有說明:

06119b88-3013-11ee-9e74-dac502259ad0.png

比如:以下波形,當(dāng)檢測(cè)到SOF時(shí)候,CAN控制器需要滿足ISO標(biāo)準(zhǔn),執(zhí)行硬同步。

0636b5bc-3013-11ee-9e74-dac502259ad0.png

2、重新同步

如果在仲裁段相當(dāng)比較長(zhǎng)的時(shí)間內(nèi),比如ID段,連續(xù)的傳輸會(huì)帶來相位的左右偏移,這時(shí)候就需要重新同步了。這時(shí)候就需要SJW,對(duì)seg1和seg2適當(dāng)進(jìn)行延長(zhǎng)或縮短一定的TQ。

066449fa-3013-11ee-9e74-dac502259ad0.png

0699bdd8-3013-11ee-9e74-dac502259ad0.png

06c9b07e-3013-11ee-9e74-dac502259ad0.png

這看起來有點(diǎn)難理解,那么還是以時(shí)序圖來說明,以相位超前超后例子。

相位超前,CAN控制器會(huì)根據(jù)sjw同步跳轉(zhuǎn)寬度進(jìn)行加入對(duì)應(yīng)的TQ,使之sync_seg段能同步到下一個(gè)邊沿。

0732f6ce-3013-11ee-9e74-dac502259ad0.png

相位超后,CAN控制器會(huì)根據(jù)sjw同步跳轉(zhuǎn)寬度進(jìn)行減少對(duì)應(yīng)的TQ,使之sync_seg段能同步到下一個(gè)邊沿。

073f9fc8-3013-11ee-9e74-dac502259ad0.png

在上面的闡述中,采樣點(diǎn)的取值范圍尤為重要,對(duì)于同步上也是比較關(guān)鍵的參數(shù),在ISO中并無此建議值,但是在hpm_sdk中有提及,建議是75%到87.5%。

078dadbc-3013-11ee-9e74-dac502259ad0.png

從上面講了一大堆,其實(shí)上面所闡述的一些同步均由CAN控制器實(shí)現(xiàn),但是為了方便理解軟件開發(fā),是有必要了解。

CAN的位時(shí)序涉及到CAN時(shí)基、sync_seq、sjw、seg1和seg2。在先楫當(dāng)中也有涉及到這些寄存器,分為仲裁段(標(biāo)稱位)和數(shù)據(jù)段位。需要注意的是:

先楫的CAN的seq1包括了位時(shí)序的sync_seg+prog_seg+phase_seq1。

先楫的CAN的seq2是位時(shí)序的phase_seq2。

根據(jù)ISO規(guī)定,sjw不計(jì)入到位時(shí)序中。

079de4ac-3013-11ee-9e74-dac502259ad0.png

3、hpm_sdk的波特率設(shè)置API

sdk的CAN驅(qū)動(dòng)的波特率設(shè)置,寫的比較貼心,提供了兩種方式來設(shè)置。一種是直接代入實(shí)際的波特率,第二種是自己寫入位時(shí)序參數(shù)。根據(jù)use_lowlevel_timing_setting這個(gè)變量來決定哪種方式。

如果需要使能CANFD,則需要開啟enable_canfd,超過1M的數(shù)據(jù)段波特率,建議開啟enable_tdc。

這些參數(shù)的成員說明可以查看SDK的can_config_t結(jié)構(gòu)體,這里不做闡述。

07f353d8-3013-11ee-9e74-dac502259ad0.png

對(duì)于直接代入實(shí)際的波特率的方式,sdk使用ISO文檔建議的位時(shí)序參數(shù),適合通用的場(chǎng)合。

08417dba-3013-11ee-9e74-dac502259ad0.png

0867f40e-3013-11ee-9e74-dac502259ad0.png

SDK中,根據(jù)波特率轉(zhuǎn)換成對(duì)應(yīng)的位時(shí)序參數(shù)。API接口是can_set_bit_timing。里面調(diào)用了can_calculate_bit_timing這個(gè)API得出位時(shí)序參數(shù)帶入到CAN的對(duì)應(yīng)寄存器中,完成波特率的設(shè)置。

08b09c40-3013-11ee-9e74-dac502259ad0.png

can_calculate_bit_timing根據(jù)波特率和CAN時(shí)鐘先算出TQ和分頻系數(shù)相乘值num_tq_mul_prescaler,然后依次代入分頻系數(shù)直到算出tq和分頻系數(shù)等于num_tq_mul_prescaler,得出一個(gè)位時(shí)序的TQ數(shù)量,再根據(jù)采樣點(diǎn)范圍算出SEQ1和SEQ2,但會(huì)再匹配ISO建議的位時(shí)序參數(shù)的對(duì)應(yīng)最小和最大值,保證在此范圍內(nèi)。否則返回錯(cuò)誤。

需要注意的是:

先楫的這個(gè)CAN外設(shè)的CANFD支持非ISO標(biāo)準(zhǔn)和ISO標(biāo)準(zhǔn),也就是enable_can_fd_iso_mode,sdk默認(rèn)是使用ISO標(biāo)準(zhǔn),需要使用can_get_default_config這個(gè)API初始化參數(shù)。否則可能就是非ISO標(biāo)準(zhǔn)。

非ISO標(biāo)準(zhǔn)和ISO標(biāo)準(zhǔn),對(duì)于經(jīng)典CAN不受影響,但是CANFD會(huì)報(bào)CRC錯(cuò)誤。

(三)收發(fā)數(shù)據(jù)流程

對(duì)于CAN幀結(jié)構(gòu),這里不做闡述。調(diào)用ISO文檔的截圖理解:

08e40760-3013-11ee-9e74-dac502259ad0.png

090ff5f0-3013-11ee-9e74-dac502259ad0.png

上述提到,對(duì)于接收來說,有16個(gè)FIFO;對(duì)于發(fā)送來說,有8個(gè)副發(fā)送緩沖器。這樣對(duì)于收發(fā)來說是相當(dāng)足夠的。

在sdk當(dāng)中,收發(fā)都提供了非阻塞和阻塞接口,分別對(duì)應(yīng)的后綴是_noblocking或者blocking。

接收阻塞API:can_receive_message_blocking

接收非阻塞API:can_read_received_message

建議使用非阻塞API,開啟接收中斷以及滿FIFO中斷。在中斷讀取FIFO數(shù)量,最大性能提取數(shù)據(jù),然后依次調(diào)用can_read_received_message。比如:

09382f34-3013-11ee-9e74-dac502259ad0.png

對(duì)于發(fā)送:

阻塞接口:can_send_message_blocking

非阻塞接口:can_send_message_nonblocking

建議使用非阻塞接口,每次調(diào)用前判斷發(fā)送緩沖器是否滿,然后依次調(diào)用can_send_message_nonblocking塞入數(shù)據(jù)。比如:

0950df52-3013-11ee-9e74-dac502259ad0.png

(四)實(shí)現(xiàn)效果

HPM6750的四路CANFD,在500K仲裁段5M數(shù)據(jù)段的波特率下,可以幾乎跑滿載。

097132c0-3013-11ee-9e74-dac502259ad0.png

實(shí)驗(yàn)平臺(tái):hpm6750evkmini+stephen大佬開發(fā)的CANFD適配擴(kuò)展板。

三、總結(jié)

對(duì)于CAN的,本文主要闡述波特率設(shè)置、數(shù)據(jù)收發(fā)流程。其他的比如過濾器組設(shè)置、總線錯(cuò)誤等后續(xù)再闡述。

先楫HPM_SDK對(duì)于CAN驅(qū)動(dòng),相關(guān)API接口以及結(jié)構(gòu)體定義比較清晰,容易入手使用。

先楫的CANFD的收發(fā)自帶FIFO緩存器,開發(fā)者可以根據(jù)需求使用,可以提高收發(fā)性能,達(dá)到滿載測(cè)試性能。





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • CAN總線
    +關(guān)注

    關(guān)注

    145

    文章

    1908

    瀏覽量

    130502
  • CAN控制器
    +關(guān)注

    關(guān)注

    3

    文章

    74

    瀏覽量

    14986
  • PLL電路
    +關(guān)注

    關(guān)注

    0

    文章

    92

    瀏覽量

    6379
  • CANFD
    +關(guān)注

    關(guān)注

    0

    文章

    54

    瀏覽量

    4898
  • HPM6750
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

    81

原文標(biāo)題:開發(fā)者分享:[玩轉(zhuǎn)先楫CANFD外設(shè)系列之一]輕松搞起CANFD

文章出處:【微信號(hào):HPMicro,微信公眾號(hào):先楫半導(dǎo)體HPMicro】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    玩轉(zhuǎn)先楫CANFD外設(shè)系列之一:輕松搞起CANFD

    一、概述先楫的CANFD外設(shè),有兩個(gè)CANFD的IP,其中HPM6700系列,HPM6400系列、HPM6300系列使用的是CAN,包括了經(jīng)典CAN和CANFD。而HPM6200系列則使用的MCAN
    的頭像 發(fā)表于 08-02 08:20 ?2342次閱讀
    玩轉(zhuǎn)先楫<b class='flag-5'>CANFD</b>外設(shè)系列之一:<b class='flag-5'>輕松</b><b class='flag-5'>搞起</b><b class='flag-5'>CANFD</b>

    OpenHarmony開發(fā)者文檔

    此工程存放OpenHarmony提供的快速入門、開發(fā)指南、API參考等開發(fā)者文檔,歡迎參與OpenHarmony開發(fā)者文檔開源項(xiàng)目,與我們一起完善開發(fā)者文檔。View English文
    發(fā)表于 04-23 18:08

    喜報(bào)|HarmonyOS開發(fā)者社區(qū)連獲業(yè)內(nèi)獎(jiǎng)項(xiàng),持續(xù)深耕開發(fā)者生態(tài)

    臨近年末,各大平臺(tái)陸續(xù)揭曉年度榜單,表彰了具備強(qiáng)大影響力與做出突出貢獻(xiàn)的優(yōu)秀項(xiàng)目與團(tuán)隊(duì),而HarmonyOS開發(fā)者社區(qū)作為技術(shù)分享,學(xué)習(xí)和展示的平臺(tái),輸出高質(zhì)量技術(shù)文章百余篇,連續(xù)獲得業(yè)內(nèi)各大
    發(fā)表于 01-19 14:32

    華為開發(fā)者大會(huì)2021:鴻蒙輕松實(shí)現(xiàn)操作系統(tǒng)靈活組裝

    華為開發(fā)者大會(huì)2021正在進(jìn)行中,重磅亮相的鴻蒙系統(tǒng)可以輕松實(shí)現(xiàn)操作系統(tǒng)靈活組裝,全新harmony OS助力智能車艙實(shí)現(xiàn)全新生態(tài)。
    的頭像 發(fā)表于 10-22 15:05 ?1204次閱讀
    華為<b class='flag-5'>開發(fā)者</b>大會(huì)2021:鴻蒙<b class='flag-5'>輕松</b>實(shí)現(xiàn)操作系統(tǒng)靈活組裝

    華為2021開發(fā)者大會(huì)最新消息

    華為開發(fā)者大會(huì)2021在中國(guó)松山湖舉行,會(huì)上,華為公司基于OpenHarmony提供了HarmonyOS和鴻蒙智聯(lián),備開發(fā)者可以根據(jù)不同硬件靈活選擇組件,輕松完成操作系統(tǒng)組裝。
    的頭像 發(fā)表于 10-26 14:20 ?2143次閱讀

    OPPO開發(fā)者大會(huì):開發(fā)者需要以用戶為中心進(jìn)行開發(fā)

    OPPO開發(fā)者大會(huì):開發(fā)者需要以用戶為中心進(jìn)行開發(fā) OPPO開發(fā)者大會(huì)劉暢表示,萬物互融時(shí)代泛在開發(fā)者需要以用戶為中心進(jìn)行
    的頭像 發(fā)表于 10-27 10:44 ?1603次閱讀
    OPPO<b class='flag-5'>開發(fā)者</b>大會(huì):<b class='flag-5'>開發(fā)者</b>需要以用戶為中心進(jìn)行<b class='flag-5'>開發(fā)</b>

    OPPO開發(fā)者大會(huì):OPPO將持續(xù)為開發(fā)者提供幫助

    2021 OPPO開發(fā)者大會(huì)劉暢表示;OPPO將為開發(fā)者提供技術(shù)來保障開發(fā)者,提供全鏈路的運(yùn)營(yíng)發(fā)展。
    的頭像 發(fā)表于 10-27 10:45 ?1423次閱讀
    OPPO<b class='flag-5'>開發(fā)者</b>大會(huì):OPPO將持續(xù)為<b class='flag-5'>開發(fā)者</b>提供幫助

    2021 OPPO開發(fā)者大會(huì)主會(huì)場(chǎng):ColorOS與開發(fā)者攜手共行

    2021 OPPO開發(fā)者大會(huì)主會(huì)場(chǎng):ColorOS與開發(fā)者攜手共行
    的頭像 發(fā)表于 10-27 10:51 ?1617次閱讀
    2021 OPPO<b class='flag-5'>開發(fā)者</b>大會(huì)主會(huì)場(chǎng):ColorOS與<b class='flag-5'>開發(fā)者</b>攜手共行

    2021 OPPO開發(fā)者大會(huì):異構(gòu)計(jì)算開發(fā)者價(jià)值

    2021 OPPO開發(fā)者大會(huì):異構(gòu)計(jì)算開發(fā)者價(jià)值 2021 OPPO開發(fā)者大會(huì)上介紹了異構(gòu)計(jì)算開發(fā)者價(jià)值。 責(zé)任編輯:haq
    的頭像 發(fā)表于 10-27 11:10 ?1757次閱讀
    2021 OPPO<b class='flag-5'>開發(fā)者</b>大會(huì):異構(gòu)計(jì)算<b class='flag-5'>開發(fā)者</b>價(jià)值

    2021 OPPO開發(fā)者大會(huì)主會(huì)場(chǎng):邀請(qǐng)開發(fā)者共建小布生態(tài)

    2021 OPPO開發(fā)者大會(huì)主會(huì)場(chǎng):邀請(qǐng)開發(fā)者共建小布生態(tài)
    的頭像 發(fā)表于 10-27 11:24 ?1674次閱讀
    2021 OPPO<b class='flag-5'>開發(fā)者</b>大會(huì)主會(huì)場(chǎng):邀請(qǐng)<b class='flag-5'>開發(fā)者</b>共建小布生態(tài)

    OPPO開發(fā)者大會(huì)2021:OPPO與開發(fā)者攜手,推進(jìn)生態(tài)變革

     2021 OPPO開發(fā)者大會(huì)主會(huì)場(chǎng):OPPO與開發(fā)者攜手,推進(jìn)生態(tài)變革。
    的頭像 發(fā)表于 10-27 11:31 ?2327次閱讀
    OPPO<b class='flag-5'>開發(fā)者</b>大會(huì)2021:OPPO與<b class='flag-5'>開發(fā)者</b>攜手,推進(jìn)生態(tài)變革

    2021年OPPO開發(fā)者大會(huì):賦能開發(fā)者

    小布開放平臺(tái)將為軟硬件開發(fā)者提供AI基礎(chǔ)能力支撐,全面降低開發(fā)者運(yùn)用AI核心能力進(jìn)行開發(fā)的門檻,賦能開發(fā)者。
    的頭像 發(fā)表于 10-27 14:17 ?1344次閱讀
    2021年OPPO<b class='flag-5'>開發(fā)者</b>大會(huì):賦能<b class='flag-5'>開發(fā)者</b>

    2021 OPPO開發(fā)者大會(huì):小布開發(fā)者平臺(tái)生態(tài)

    2021 OPPO開發(fā)者大會(huì):小布開發(fā)者平臺(tái)生態(tài) 2021 OPPO開發(fā)者大會(huì)上介紹了小布開發(fā)者平臺(tái)生態(tài)。 責(zé)任編輯:haq
    的頭像 發(fā)表于 10-27 14:33 ?2250次閱讀
    2021 OPPO<b class='flag-5'>開發(fā)者</b>大會(huì):小布<b class='flag-5'>開發(fā)者</b>平臺(tái)生態(tài)

    2021 OPPO開發(fā)者大會(huì):OPPO滿足開發(fā)者需求

    2021 OPPO開發(fā)者大會(huì):OPPO滿足開發(fā)者需求 2021 OPPO開發(fā)者大會(huì)上介紹了開發(fā)者需求以及OPPO可提供的資源。 責(zé)任編輯:haq
    的頭像 發(fā)表于 10-27 14:40 ?3188次閱讀
    2021 OPPO<b class='flag-5'>開發(fā)者</b>大會(huì):OPPO滿足<b class='flag-5'>開發(fā)者</b>需求

    涂鴉開發(fā)者大會(huì)即將開幕,賦能開發(fā)者打造IoT發(fā)展新引擎

    6月29日,首場(chǎng)TUYA開發(fā)者大會(huì)將在深圳拉開序幕!?????TUYA開發(fā)者大會(huì)是涂鴉繼全球智能化商業(yè)峰會(huì)、全球硬科技開發(fā)者大會(huì)后,面向全球開發(fā)者舉辦的又一場(chǎng)備受矚目的IoT領(lǐng)域頂級(jí)盛
    的頭像 發(fā)表于 06-12 10:15 ?641次閱讀
    涂鴉<b class='flag-5'>開發(fā)者</b>大會(huì)即將開幕,賦能<b class='flag-5'>開發(fā)者</b>打造IoT發(fā)展新引擎