From c2ea90243e61c468c05db813d21ab5735586770b Mon Sep 17 00:00:00 2001 From: dgjames <1943357252@qq.com> Date: Sat, 22 Mar 2025 22:38:52 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E9=80=81=E4=B8=AD=E6=96=87=E7=9F=AD?= =?UTF-8?q?=E4=BF=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/project.json | 199 +++++++++++++++++----------------- .vscode/settings.json | 3 +- .vscode/tasks.json | 14 +++ applications/sim.c | 172 +++++++++++++++++++++++++++++ applications/sim.h | 3 +- applications/status.c | 3 +- my_error/ZHtoUnicode.py | 3 + my_error/ZHunicodePro.py | 95 ++++++++++++++++ my_error/testunicodephone.cpp | 48 ++++++++ my_error/uni3.cpp | 99 +++++++++++++++++ my_error/unicode.cpp | 56 ++++++++++ 11 files changed, 592 insertions(+), 103 deletions(-) create mode 100644 my_error/ZHtoUnicode.py create mode 100644 my_error/ZHunicodePro.py create mode 100644 my_error/testunicodephone.cpp create mode 100644 my_error/uni3.cpp create mode 100644 my_error/unicode.cpp diff --git a/.vscode/project.json b/.vscode/project.json index 7b9bfd2..ea7e9b2 100644 --- a/.vscode/project.json +++ b/.vscode/project.json @@ -13,46 +13,46 @@ "name": "ali-iotkit", "path": "packages\\ali-iotkit-v3.0.2", "files": [ - "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\infra\\infra_log.c", - "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\mqtt\\impl\\MQTTUnsubscribeClient.c", - "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\infra\\infra_cjson.c", - "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_api.c", - "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_sign\\dev_sign_mqtt.c", "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\infra\\infra_compat.c", - "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\infra\\infra_defs.c", - "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_log_report.c", - "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\mqtt\\mqtt_api.c", - "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\infra\\infra_string.c", - "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_message.c", - "packages\\ali-iotkit-v3.0.2\\ports\\rtthread\\HAL_TCP_rtthread.c", - "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\iotx_cm_mqtt.c", - "packages\\ali-iotkit-v3.0.2\\ports\\wrapper.c", - "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_msg_process.c", - "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_cota.c", - "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_ipc.c", - "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\mqtt\\impl\\MQTTDeserializePublish.c", - "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\infra\\infra_prt_nwk_payload.c", - "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\impl_linkkit.c", - "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\infra\\infra_report.c", - "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\client\\dm_client_adapter.c", - "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\infra\\infra_timer.c", - "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\infra\\infra_net.c", - "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\mqtt\\impl\\MQTTSubscribeClient.c", - "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\mqtt\\impl\\MQTTPacket.c", - "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_ota.c", - "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_fota.c", - "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\mqtt\\impl\\MQTTConnectClient.c", - "packages\\ali-iotkit-v3.0.2\\ports\\rtthread\\HAL_UDP_rtthread.c", - "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\infra\\infra_sha256.c", - "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_opt.c", - "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\mqtt\\impl\\iotx_mqtt_client.c", - "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\mqtt\\impl\\MQTTSerializePublish.c", - "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_manager.c", - "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_utils.c", - "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\client\\dm_client.c", - "packages\\ali-iotkit-v3.0.2\\ports\\rtthread\\HAL_OS_rtthread.c", - "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\iotx_cm.c", "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_message_cache.c", + "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\mqtt\\impl\\MQTTPacket.c", + "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_fota.c", + "packages\\ali-iotkit-v3.0.2\\ports\\rtthread\\HAL_OS_rtthread.c", + "packages\\ali-iotkit-v3.0.2\\ports\\rtthread\\HAL_TCP_rtthread.c", + "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\mqtt\\impl\\MQTTConnectClient.c", + "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\infra\\infra_string.c", + "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_msg_process.c", + "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_ota.c", + "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\mqtt\\impl\\MQTTUnsubscribeClient.c", + "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_message.c", + "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\infra\\infra_prt_nwk_payload.c", + "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\infra\\infra_net.c", + "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_sign\\dev_sign_mqtt.c", + "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\client\\dm_client.c", + "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\iotx_cm.c", + "packages\\ali-iotkit-v3.0.2\\ports\\rtthread\\HAL_UDP_rtthread.c", + "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_ipc.c", + "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\mqtt\\impl\\iotx_mqtt_client.c", + "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\infra\\infra_report.c", + "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\mqtt\\mqtt_api.c", + "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\iotx_cm_mqtt.c", + "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_log_report.c", + "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_manager.c", + "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\impl_linkkit.c", + "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\mqtt\\impl\\MQTTSubscribeClient.c", + "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_utils.c", + "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\infra\\infra_timer.c", + "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\mqtt\\impl\\MQTTDeserializePublish.c", + "packages\\ali-iotkit-v3.0.2\\ports\\wrapper.c", + "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_opt.c", + "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\mqtt\\impl\\MQTTSerializePublish.c", + "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_api.c", + "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\infra\\infra_cjson.c", + "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\infra\\infra_log.c", + "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_cota.c", + "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\infra\\infra_sha256.c", + "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\client\\dm_client_adapter.c", + "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\infra\\infra_defs.c", "packages\\ali-iotkit-v3.0.2\\SConscript" ] }, @@ -68,22 +68,21 @@ "name": "Applications", "path": "applications", "files": [ - "applications\\sim.c", - "applications\\app_lcd.c", - "applications\\sensor.c", + "applications\\myinfrared.c", + "applications\\init.c", "applications\\mysnake.c", "applications\\test_drv_example.c", - "applications\\pin_irq_example.c", - "applications\\init.c", - "applications\\myproject.c", - "applications\\my_func.c", "applications\\status.c", - "applications\\assistant.c", - "applications\\main.c", - "applications\\mytest.c", - "applications\\motor.c", "applications\\AHT10.c", - "applications\\myinfrared.c", + "applications\\myproject.c", + "applications\\pin_irq_example.c", + "applications\\app_lcd.c", + "applications\\sensor.c", + "applications\\main.c", + "applications\\motor.c", + "applications\\sim.c", + "applications\\assistant.c", + "applications\\my_func.c", "applications\\SConscript" ] }, @@ -91,9 +90,9 @@ "name": "AT", "path": "rt-thread\\components\\net\\at", "files": [ - "rt-thread\\components\\net\\at\\src\\at_cli.c", "rt-thread\\components\\net\\at\\src\\at_client.c", "rt-thread\\components\\net\\at\\src\\at_utils.c", + "rt-thread\\components\\net\\at\\src\\at_cli.c", "rt-thread\\components\\net\\at\\SConscript" ] }, @@ -101,8 +100,8 @@ "name": "cJSON", "path": "packages\\cJSON-v1.7.17", "files": [ - "packages\\cJSON-v1.7.17\\cJSON.c", "packages\\cJSON-v1.7.17\\cJSON_Utils.c", + "packages\\cJSON-v1.7.17\\cJSON.c", "packages\\cJSON-v1.7.17\\SConscript" ] }, @@ -213,10 +212,10 @@ "path": "rt-thread\\components\\fal", "files": [ "rt-thread\\components\\fal\\src\\fal_flash.c", - "rt-thread\\components\\fal\\src\\fal_rtt.c", "rt-thread\\components\\fal\\src\\fal.c", - "rt-thread\\components\\fal\\src\\fal_partition.c", "rt-thread\\components\\fal\\samples\\porting\\fal_flash_sfud_port.c", + "rt-thread\\components\\fal\\src\\fal_rtt.c", + "rt-thread\\components\\fal\\src\\fal_partition.c", "rt-thread\\components\\fal\\SConscript" ] }, @@ -241,10 +240,10 @@ "path": "rt-thread\\components\\finsh", "files": [ "rt-thread\\components\\finsh\\msh_parse.c", - "rt-thread\\components\\finsh\\msh.c", - "rt-thread\\components\\finsh\\msh_file.c", "rt-thread\\components\\finsh\\shell.c", "rt-thread\\components\\finsh\\cmd.c", + "rt-thread\\components\\finsh\\msh_file.c", + "rt-thread\\components\\finsh\\msh.c", "rt-thread\\components\\finsh\\SConscript" ] }, @@ -268,8 +267,8 @@ "name": "Infrared_frame", "path": "packages\\infrared-v0.1.1", "files": [ - "packages\\infrared-v0.1.1\\src\\nec_decoder.c", "packages\\infrared-v0.1.1\\src\\infrared.c", + "packages\\infrared-v0.1.1\\src\\nec_decoder.c", "packages\\infrared-v0.1.1\\src\\drv_infrared.c", "packages\\infrared-v0.1.1\\SConscript" ] @@ -300,12 +299,12 @@ "name": "kernel-samples", "path": "packages\\kernel_samples-latest\\en", "files": [ - "packages\\kernel_samples-latest\\en\\event_sample.c", - "packages\\kernel_samples-latest\\en\\thread_sample.c", "packages\\kernel_samples-latest\\en\\semaphore_sample.c", - "packages\\kernel_samples-latest\\en\\mutex_sample.c", - "packages\\kernel_samples-latest\\en\\msgq_sample.c", "packages\\kernel_samples-latest\\en\\mailbox_sample.c", + "packages\\kernel_samples-latest\\en\\msgq_sample.c", + "packages\\kernel_samples-latest\\en\\thread_sample.c", + "packages\\kernel_samples-latest\\en\\mutex_sample.c", + "packages\\kernel_samples-latest\\en\\event_sample.c", "packages\\kernel_samples-latest\\en\\SConscript" ] }, @@ -313,11 +312,11 @@ "name": "klibc", "path": "rt-thread\\src\\klibc", "files": [ - "rt-thread\\src\\klibc\\kstdio.c", - "rt-thread\\src\\klibc\\rt_vsnprintf_std.c", "rt-thread\\src\\klibc\\kerrno.c", - "rt-thread\\src\\klibc\\rt_vsscanf.c", "rt-thread\\src\\klibc\\kstring.c", + "rt-thread\\src\\klibc\\kstdio.c", + "rt-thread\\src\\klibc\\rt_vsscanf.c", + "rt-thread\\src\\klibc\\rt_vsnprintf_std.c", "rt-thread\\src\\klibc\\SConscript" ] }, @@ -345,47 +344,47 @@ "name": "Libraries", "path": "libraries\\STM32F4xx_HAL", "files": [ - "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_lptim.c", + "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_ll_sdmmc.c", "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_cortex.c", - "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_cec.c", - "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_adc_ex.c", - "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_uart.c", - "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_sram.c", - "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal.c", - "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_tim_ex.c", - "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_dma_ex.c", "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_usart.c", - "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_pcd.c", + "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_rcc.c", "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_ll_fsmc.c", + "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_crc.c", + "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_cryp.c", + "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_flash_ramfunc.c", + "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_pwr_ex.c", + "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_cec.c", + "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_tim_ex.c", + "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_pccard.c", + "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_dma.c", + "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_sd.c", "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_flash_ex.c", "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_tim.c", - "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_ll_fmc.c", - "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_pwr_ex.c", "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_gpio.c", - "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_rcc_ex.c", - "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_i2c_ex.c", - "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_pcd_ex.c", - "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_hcd.c", - "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_rtc.c", - "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_cryp_ex.c", - "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_adc.c", - "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_qspi.c", - "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_flash_ramfunc.c", - "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_ll_usb.c", + "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_dma_ex.c", "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_pwr.c", - "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_sd.c", - "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_i2c.c", - "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_crc.c", - "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_rcc.c", - "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_rtc_ex.c", - "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_ll_sdmmc.c", - "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_spi.c", - "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_flash.c", - "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_rng.c", - "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_cryp.c", - "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_dma.c", - "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_pccard.c", + "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_pcd_ex.c", "libraries\\STM32F4xx_HAL\\CMSIS\\Device\\ST\\STM32F4xx\\Source\\Templates\\system_stm32f4xx.c", + "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_i2c.c", + "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_rtc.c", + "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_i2c_ex.c", + "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_adc.c", + "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_pcd.c", + "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_rcc_ex.c", + "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_qspi.c", + "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_sram.c", + "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_hcd.c", + "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_ll_fmc.c", + "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_adc_ex.c", + "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_ll_usb.c", + "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal.c", + "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_rtc_ex.c", + "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_rng.c", + "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_cryp_ex.c", + "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_flash.c", + "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_spi.c", + "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_lptim.c", + "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_uart.c", "libraries\\STM32F4xx_HAL\\SConscript" ] }, @@ -471,9 +470,9 @@ "name": "rt_usbd", "path": "rt-thread\\components\\legacy\\usb\\usbdevice", "files": [ - "rt-thread\\components\\legacy\\usb\\usbdevice\\core\\usbdevice.c", - "rt-thread\\components\\legacy\\usb\\usbdevice\\core\\usbdevice_core.c", "rt-thread\\components\\legacy\\usb\\usbdevice\\class\\cdc_vcom.c", + "rt-thread\\components\\legacy\\usb\\usbdevice\\core\\usbdevice_core.c", + "rt-thread\\components\\legacy\\usb\\usbdevice\\core\\usbdevice.c", "rt-thread\\components\\legacy\\usb\\usbdevice\\SConscript" ] }, @@ -512,8 +511,8 @@ "name": "Utilities", "path": "rt-thread\\components\\utilities\\ulog", "files": [ - "rt-thread\\components\\utilities\\ulog\\backend\\console_be.c", "rt-thread\\components\\utilities\\ulog\\ulog.c", + "rt-thread\\components\\utilities\\ulog\\backend\\console_be.c", "rt-thread\\components\\utilities\\ulog\\SConscript" ] }, diff --git a/.vscode/settings.json b/.vscode/settings.json index c37a369..25877c1 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -44,7 +44,8 @@ "tuple": "c", "type_traits": "c", "utility": "c", - "random": "c" + "random": "c", + "logn.h": "c" }, // "cortex-debug.openocdPath": "d:/Develop/" } \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 981079d..ba4104d 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -153,6 +153,20 @@ } } }, + { + "label": "汉字转Unicode", + "type": "shell", + "command": "C:/Users/19433/AppData/Local/Microsoft/WindowsApps/python3.11.exe d:/Develop/SumProject/my_error/ZHtoUnicode.py", + "args": [], + "problemMatcher": [] + }, + { + "label": "汉字转UnicodePro(图形版)", + "type": "shell", + "command": "C:/Users/19433/AppData/Local/Microsoft/WindowsApps/python3.11.exe d:/Develop/SumProject/my_error/ZHUnicodePro.py", + "args": [], + "problemMatcher": [] + }, { "label": "下载固件(pyocd)", "type": "shell", diff --git a/applications/sim.c b/applications/sim.c index 58b19f2..942af67 100644 --- a/applications/sim.c +++ b/applications/sim.c @@ -59,7 +59,179 @@ __exit: } return rc; } +// 将 UTF-8 字符串转换为 UTF-16BE 编码的十六进制字符串 +void str_to_unicode(const char *input, uint8_t *output) { + uint16_t unicode; + uint8_t *ptr = output; + while (*input) { + // UTF-8 转 Unicode(仅处理基本多语言平面字符) + if ((*input & 0xE0) == 0xE0) { // 3字节UTF-8字符(如中文) + unicode = ((input[0] & 0x0F) << 12) | ((input[1] & 0x3F) << 6) | (input[2] & 0x3F); + input += 3; + } else if ((*input & 0xC0) == 0xC0) { // 2字节UTF-8字符(如拉丁扩展字符) + unicode = ((input[0] & 0x1F) << 6) | (input[1] & 0x3F); + input += 2; + } else { // 1字节ASCII字符 + unicode = *input; + input += 1; + } + // 转换为大端序(UTF-16BE) + *ptr++ = (unicode >> 8) & 0xFF; + *ptr++ = unicode & 0xFF; + } + *ptr = '\0'; // 结束符 +} +//参数:utf8_in,要转码的UTF8编码地址,高字节在前 +//参数:uni_out,转码后输出的uni编码存储地址的指针,在转码后地址自动向后移编 +//返回值:下一个utf8编码地址 +uint8_t *utf82uni (const uint8_t *uft8_in,uint8_t **uni_out) +{ + if ((uft8_in)&&(*uft8_in)) + { + if (uft8_in[0]<0x80) + { + (*uni_out)[0]=0; + (*uni_out)[1]=*uft8_in; + (*uni_out)+=2; + return (uint8_t*)uft8_in+1; + } + else + { + (*uni_out)[0]=uft8_in[0]<<4; + (*uni_out)[0]|=(uft8_in[1]>>2)&0x0f; + (*uni_out)[1]=(uft8_in[1]<<6); + (*uni_out)[1]|=(uft8_in[2])&0x3f; + (*uni_out)+=2; + return (uint8_t*)uft8_in+3; + } + } + return 0; +} + +// 将手机号转换为UTF-16BE 格式(如 13812345678 -> "003100380032003100340035003600370038") +void format_phone_number(const char *phone, char *output) { + for (int i = 0; phone[i]; i++) { + rt_sprintf(output + 4*i, "00%X", phone[i]); // 每位数字转为3位十六进制(如 '1' -> 0031) + } +} +rt_err_t sim_message(char *phonenum, char *message) +{ + rt_err_t rc = RT_EOK; + at_response_t resp = NULL; + + resp = at_create_resp(256, 1, 5 * RT_TICK_PER_SECOND); + if (!resp) + { + LOG_E("No memory for AT response structure!"); + return -RT_ENOMEM; + } + char at_str[64]; + AT_SEND_CMD("AT+CMGF=1", resp); + AT_SEND_CMD("AT+CSMP=17,167,1,8", resp); + AT_SEND_CMD("AT+CSCS=\"UCS2\"", resp); + uint8_t unicode_msg[256]; + char formatted_phone[32]; + + // 1. 编码转换 + format_phone_number(phonenum, formatted_phone); + rt_sprintf(at_str, "AT+CMGS=\"%s\"", formatted_phone); + AT_SEND_CMD(at_str, resp); + // str_to_unicode("005B5DE553825B895168536B58EB005D8B6662A5FF1A4EBA54588FDB516553719669533A57DF8D858FC7003100300073", unicode_msg); + // int cnt=0; + // if(rt_strcmp(at_resp_get_line(resp, 1),">") == 0) + // { + AT_SEND_CMD("005B5DE553825B895168536B58EB005D8B6662A5FF1A4EBA54588FDB516553719669533A57DF8D858FC7003100300073", resp); + AT_SEND_CMD("\x1A", resp); + // } + + +__exit: + if (resp) + { + at_delete_resp(resp); + } + return rc; +} +int cmd_sim_message(int argc, char**argv) +{ + char testtmp[129]; + format_phone_number(argv[1],testtmp); + LOG5("phone:%s",testtmp); + // str_to_unicode(argv[2], testtmp); + // LOG5("msg:%04X → %04X",argv[2],testtmp); + // format_phone_number(argv[2],testtmp); + // LOG5("msg(by phone):%s",testtmp); + // utf82uni(argv[2],testtmp); + // LOG5("msg(by utf82uni):%s",testtmp); + + sim_message(argv[1], ""); +} +MSH_CMD_EXPORT_ALIAS(cmd_sim_message,SIM_MSG, send message); +int cmd_sim_test(int argc, char**argv) +{ + rt_err_t rc = RT_EOK; + at_response_t resp = NULL; + + resp = at_create_resp(256, 1, 5 * RT_TICK_PER_SECOND); + if (!resp) + { + LOG_E("No memory for AT response structure!"); + return -RT_ENOMEM; + } + char at_str[64]; + if(!rt_strcmp(argv[1],"1")) + { + + AT_SEND_CMD("AT+CMGF=1", resp); + return 1; + } + if(!rt_strcmp(argv[1],"2")) + { + AT_SEND_CMD("AT+CSMP=17,167,1,8", resp); + return 2; + } + if(!rt_strcmp(argv[1],"3")) + { + AT_SEND_CMD("AT+CSCS=\"UCS2\"", resp); + return 3; + } + if(!rt_strcmp(argv[1],"4")) + { + AT_SEND_CMD("AT+CMGS=\"00310037003300310038003100310032003300360030\"", resp); + return 4; + } + // 1. 编码转换 + + // str_to_unicode("005B5DE553825B895168536B58EB005D8B6662A5FF1A4EBA54588FDB516553719669533A57DF8D858FC7003100300073", unicode_msg); + // int cnt=0; + // if(rt_strcmp(at_resp_get_line(resp, 1),">") == 0) + // { + if(!rt_strcmp(argv[1],"5")) + { + AT_SEND_CMD("005B5DE553825B895168536B58EB005D8B6662A5FF1A4EBA54588FDB516553719669533A57DF8D858FC7003100300073", resp); + AT_SEND_CMD("\x1A", resp); + return 5; + } + // AT_SEND_CMD("005B5DE553825B895168536B58EB005D8B6662A5FF1A4EBA54588FDB516553719669533A57DF8D858FC7003100300073", resp); + if (!rt_strcmp(argv[1],"6")) + { + /* code */AT_SEND_CMD("\x1A", resp); + return 6; + } + + + // } + + +__exit: + if (resp) + { + at_delete_resp(resp); + } + return rc; +} +MSH_CMD_EXPORT_ALIAS(cmd_sim_test,OTEST, send message); int cmd_at_send(int argc, char**argv) { rt_err_t rc = RT_EOK; diff --git a/applications/sim.h b/applications/sim.h index 0a6ff76..a5fd000 100644 --- a/applications/sim.h +++ b/applications/sim.h @@ -1,3 +1,4 @@ #include "rtthread.h" rt_err_t sim_dev_init(); -rt_err_t sim_call(char *phonenum); \ No newline at end of file +rt_err_t sim_call(char *phonenum); +rt_err_t sim_message(char *phonenum, char *message); \ No newline at end of file diff --git a/applications/status.c b/applications/status.c index d8cca54..643817b 100644 --- a/applications/status.c +++ b/applications/status.c @@ -83,7 +83,6 @@ void danger_status(void) rt_event_send(&robot_event, EVENT_DELAY); char *str = "aa"; serial_send(str); - sim_call("17318112360"); fan_on(); light_on(); // LED_BreathMore(0,LED_NUM-1,LED_RED); @@ -109,6 +108,8 @@ void collect_entry(void *parameter) rt_thread_mdelay(10000); if(cnt_warning>0) { + sim_call("17318112360"); + sim_message("17318112360",""); beep_on(); } } diff --git a/my_error/ZHtoUnicode.py b/my_error/ZHtoUnicode.py new file mode 100644 index 0000000..bbaa939 --- /dev/null +++ b/my_error/ZHtoUnicode.py @@ -0,0 +1,3 @@ +s = input().strip() +unicode_codes = ''.join(f"{ord(c):04X}" for c in s) +print(unicode_codes) \ No newline at end of file diff --git a/my_error/ZHunicodePro.py b/my_error/ZHunicodePro.py new file mode 100644 index 0000000..b831926 --- /dev/null +++ b/my_error/ZHunicodePro.py @@ -0,0 +1,95 @@ +import tkinter as tk +from tkinter import ttk, messagebox + +def copy_to_clipboard(): + root.clipboard_clear() + root.clipboard_append(output_var.get()) + messagebox.showinfo("成功", "已复制到剪贴板") + +def convert_unicode(event=None): + s = entry.get().strip() + if not s: + messagebox.showwarning("提示", "请输入内容") + return + + try: + unicode_str = ''.join(f"{ord(c):04X}" for c in s) + output_var.set(unicode_str) + # copy_to_clipboard() + except Exception as e: + messagebox.showerror("错误", f"转换失败: {str(e)}") + + +# 创建主窗口 +root = tk.Tk() +root.title("Unicode转换器") +root.geometry("300x300") # 正方形窗口 +# root.resizable(False, False) +root.configure(bg="#f5f6fa") + +# 修复的变量定义 +output_var = tk.StringVar() + +# 现代界面样式配置 +style = ttk.Style() +style.theme_use('clam') + +# 自定义样式 +style.configure("TFrame", background="#f5f6fa") +style.configure("TLabel", + font=("微软雅黑", 11), + background="#f5f6fa", + foreground="#2d3436") +style.configure("TEntry", + font=("微软雅黑", 11), + padding=5) +style.configure("TButton", + font=("微软雅黑", 10, "bold"), + padding=8, + foreground="#ffffff") +style.map("TButton", + background=[("active", "#0984e3"), ("!active", "#74b9ff")], + foreground=[("active", "#ffffff"), ("!active", "#ffffff")]) + +# 主容器 +main_frame = ttk.Frame(root) +main_frame.pack(expand=True, padx=30, pady=30) + +# 输入区域 +input_frame = ttk.Frame(main_frame) +input_frame.pack(pady=15, fill="x") + +ttk.Label(input_frame, text="输入文本:").pack(side="left", padx=(0, 10)) +entry = ttk.Entry(input_frame, width=20) +entry.pack(side="left", expand=True) +entry.bind("", convert_unicode) # 绑定回车键 + +# 输出区域 +output_frame = ttk.Frame(main_frame) +output_frame.pack(pady=20, fill="x") + +ttk.Label(output_frame, text="转换结果:").pack(side="left", padx=(0, 10)) +output_entry = ttk.Entry( + output_frame, + textvariable=output_var, + width=24, + state="readonly", + font=("Consolas", 12, "bold"), + foreground="#2d3436" +) +output_entry.pack(side="left", expand=True) + +# 按钮区域 +btn_frame = ttk.Frame(main_frame) +btn_frame.pack(pady=30) + +convert_btn = ttk.Button(btn_frame, text="立即转换", command=convert_unicode) +convert_btn.pack(side="left", padx=10) + +copy_btn = ttk.Button(btn_frame, text="复制结果", command=copy_to_clipboard) +copy_btn.pack(side="left") + +# 窗口居中 +root.eval('tk::PlaceWindow . center') + +root.mainloop() \ No newline at end of file diff --git a/my_error/testunicodephone.cpp b/my_error/testunicodephone.cpp new file mode 100644 index 0000000..34075ae --- /dev/null +++ b/my_error/testunicodephone.cpp @@ -0,0 +1,48 @@ +#include +#include +#include +using namespace std; +void str_to_unicode(const char *input, uint8_t *output) { + uint16_t unicode; + uint8_t *ptr = output; + while (*input) { + // UTF-8 ת Unicodeƽַ + if ((*input & 0xE0) == 0xE0) { // 3ֽUTF-8ַģ + unicode = ((input[0] & 0x0F) << 12) | ((input[1] & 0x3F) << 6) | (input[2] & 0x3F); + input += 3; + } else if ((*input & 0xC0) == 0xC0) { // 2ֽUTF-8ַչַ + unicode = ((input[0] & 0x1F) << 6) | (input[1] & 0x3F); + input += 2; + } else { // 1ֽASCIIַ + unicode = *input; + input += 1; + } + // תΪUTF-16BE + *ptr++ = (unicode >> 8) & 0xFF; + *ptr++ = unicode & 0xFF; + } + *ptr = '\0'; // +} +int main() +{ + int n; +// string s; + uint8_t a[10005]; + char s[100005]; +// cin>>s; + scanf("%s",s); + int i=-1; + char sc[1005]; + str_to_unicode(s,a); + for(int i=0;i<=100;i++) + { + printf("%X",a[i]); + } + while(s[++i]) + { + sprintf(sc+i*4,"00%X",s[i]); + printf("00%X",s[i]); + } + printf("\n%s",sc); + + } diff --git a/my_error/uni3.cpp b/my_error/uni3.cpp new file mode 100644 index 0000000..4987553 --- /dev/null +++ b/my_error/uni3.cpp @@ -0,0 +1,99 @@ +#include +#include +using namespace std; +//void print_utf8_to_unicode(const char *str) { +// while (*str) { +// unsigned char c = *str; +// unsigned int code = 0; +// +// // UTF-8ֽ +// if (c < 0x80) { // 1ֽ +// code = c; +// str += 1; +// } else if ((c & 0xE0) == 0xC0) { // 2ֽ +// code = ((c & 0x1F) << 6) | (str[1] & 0x3F); +// str += 2; +// } else if ((c & 0xF0) == 0xE0) { // 3ֽڣijã +// code = ((c & 0x0F) << 12) | ((str[1] & 0x3F) << 6) | (str[2] & 0x3F); +// str += 3; +// } else if ((c & 0xF8) == 0xF0) { // 4ֽ +// code = ((c & 0x07) << 18) | ((str[1] & 0x3F) << 12) | ((str[2] & 0x3F) << 6) | (str[3] & 0x3F); +// str += 4; +// } else { +// // Чֽ +// code = c; // Unicode滻ַ +// str++; +// } +// +// printf("U+%04X ", code); +// } +//} + +int Utf82Unicode(char* pInput, char* pOutput) +{ + int outputSize = 0; //¼תUnicodeַֽ + *pOutput = 0; + while (*pInput) + { + cout<< *pInput<<"; "; + if (*pInput > 0x00 && *pInput <= 0x7F) //ֽUTF8ַӢĸ֣ + { + *pOutput = *pInput; + pOutput++; + *pOutput = 0; //С˷ʾڸߵַ0 + } + else if (((*pInput) & 0xE0) == 0xC0) //˫ֽUTF8ַ + //else if(*pInput >= 0xC0 && *pInput < 0xE0) + { + char high = *pInput; + pInput++; + char low = *pInput; + if ((low & 0xC0) != 0x80) //ǷΪϷUTF8ַʾ + { + return -1; //򱨴 + } + + *pOutput = (high << 6) + (low & 0x3F); + pOutput++; + *pOutput = (high >> 2) & 0x07; + } + else if (((*pInput) & 0xF0) == 0xE0) //ֽUTF8ַ + //else if(*pInput>=0xE0 && *pInput<0xF0) + { + char high = *pInput; + pInput++; + char middle = *pInput; + pInput++; + char low = *pInput; + if (((middle & 0xC0) != 0x80) || ((low & 0xC0) != 0x80)) + { + return -1; + } + *pOutput = (middle << 6) + (low & 0x3F);//ȡmiddleĵλlowĵ6λϳunicodeַĵ8λ + pOutput++; + *pOutput = (high << 4) + ((middle >> 2) & 0x0F); //ȡhighĵλmiddleмλϳunicodeַĸ8λ + } + else //ֽUTF8ַд + { + return -1; + } + pInput ++;//һutf8ַ + pOutput ++; + outputSize +=2; + } + //unicodeַ棬\0 + *pOutput = 0; + pOutput++; + *pOutput = 0; + return outputSize; +} + +int main() { + // ȷԴļUTF-8뱣 + char text[] =u8""; +//// print_utf8_to_unicode(text); +// char outs[1005]; +// Utf82Unicode(text,outs); + printf("str:%04X",text); + return 0; +} diff --git a/my_error/unicode.cpp b/my_error/unicode.cpp new file mode 100644 index 0000000..ecf843a --- /dev/null +++ b/my_error/unicode.cpp @@ -0,0 +1,56 @@ +#include + +int utf8ToUnicode(const char* utf8, int* unicode) { + unsigned char byte = (unsigned char)utf8[0]; + int numBytes, codePoint; + + if (byte < 0x80) { + // 1ֽڱ룬ֱӷ + numBytes = 1; + codePoint = byte; + } else if ((byte & 0xE0) == 0xC0) { + // 2ֽڱ + numBytes = 2; + codePoint = byte & 0x1F; + } else if ((byte & 0xF0) == 0xE0) { + // 3ֽڱ + numBytes = 3; + codePoint = byte & 0x0F; + } else if ((byte & 0xF8) == 0xF0) { + // 4ֽڱ + numBytes = 4; + codePoint = byte & 0x07; + } else { + // Ƿ + return -1; + } + + // µֽ + for (int i = 1; i < numBytes; ++i) { + byte = (unsigned char)utf8[i]; + if ((byte & 0xC0) != 0x80) { + // Ƿ + return -1; + } + codePoint = (codePoint << 6) | (byte & 0x3F); + } + + *unicode = codePoint; + return numBytes; +} + +int main() { + char utf8[] = "ã磡"; + int unicode; + + int numBytes = utf8ToUnicode(utf8, &unicode); + if (numBytes == -1) { + printf("ǷUTF-8룡\n"); + } else { + printf("UTF-8: %s\n", utf8); + printf("ӦUnicode: U+%04X\n", unicode); + } + + return 0; +} +