CH584 涂鸦接入流程
前言:
针对涂鸦接入CH58x芯片做讲解。
一.资料
从WCH申请资料如下:

用户自行准备涂鸦授权码三元组(xlsx格式的表格)
代码注意选择三元组添加方式:

二.烧录
①上位机配置,配置完成后点击“生成烧录工具”

②烧录,按下开发板的PB22引脚,进入boot模式,点击烧录工具的“查找设备”可以获取到设备列表待烧录设备信息
注意,如果无法识别到芯片,可以检查用ISP工具是否可以识别到,并确保芯片是CH584系列

三、测试
默认代码日志输出是PB7(TXD):

手机下载涂鸦APP,点击右上角添加设备即可成功。


四、注意点
1.接入涂鸦平台,务必先从涂鸦官方途径获取授权码三元组;
2.按照上述流程操作,如果出现日志不正确,优先检查芯片是否匹配,需要使用CH584M或者CH584F。
五、个人记录,调试用
#if 0 #if TUYA_SDK_DEBUG_MODE //该宏置1使用原厂烧写工具授权 __attribute__((aligned(4))) uint32_t read_BUF[2]; EEPROM_READ(0x7D30,read_BUF,12); //读取data flash的涂鸦三元组中的MAC if ((read_BUF[0]==0xFFFFFFFF)&&(read_BUF[1]==0xFFFF)) { printf("ERROR MAC\r\n"); } else { convert_ascii_to_hex_array((uint8_t *)read_BUF, MacAddr, 12); //转换并合并数据 } #else //该宏置0使用TUYA产测工具uart授权 __attribute__((aligned(4))) uint32_t read_BUF[64]; EEPROM_READ(0,read_BUF,256); //读取data flash的涂鸦三元组 uint8_t buf1[256]; memcpy(buf1,read_BUF,256); if ((buf1[43]==0xFF)&&(buf1[44]==0xFF)&&(buf1[45]==0xFF) //取出MAC &&(buf1[46]==0xFF)&&(buf1[47]==0xFF)&&(buf1[48]==0xFF)) { PRINT("first run\r\n"); } else { memcpy(MacAddr,&buf1[40],6); } #endif #else MacAddr[0] = 0xDC; MacAddr[1] = 0x23; MacAddr[2] = 0x53; MacAddr[3] = 0x4F; MacAddr[4] = 0xEF; MacAddr[5] = 0x17; #endif
#if 0 #define TY_DEVICE_NAME "TyOS12" #define TY_DEVICE_PID "wghpmfwz" #define TY_DEVICE_MAC "DC234DAFCC96" #define TY_DEVICE_DID "uuid77aedf5beed1" //16Bytes// tuya07d9624bc2e5 #define TY_DEVICE_AUTH_KEY "OuDfYzm6tcZIi033MWPpnsnwziUthGOH" //32Bytes//fs1RKoeL4W3AYNFSCRgCW2ev6tOFmeer #define TY_ADV_INTERVAL 500 //range: 20~10240ms #define TY_CONN_INTERVAL_MIN 100 //range: 7.5~4000ms #define TY_CONN_INTERVAL_MAX 100 //range: 7.5~4000ms #else #define TY_DEVICE_NAME "TyOC12" #define TY_DEVICE_PID "cajzpxiu" #define TY_DEVICE_MAC "DC23534FEF17" #define TY_DEVICE_DID "uuid607fc4bbd3fd" #define TY_DEVICE_AUTH_KEY "AAh3QuHid8hOXiaDHe4hNMB7ymqJYikl" #define TY_ADV_INTERVAL 100 //range: 20~10240ms #define TY_CONN_INTERVAL_MIN 100 //range: 7.5~4000ms #define TY_CONN_INTERVAL_MAX 100 //range: 7.5~4000ms #endif
浙公网安备 33010602011771号