解决MobaXterm使用串口打印中文字符异常

本文介绍了一种解决STM32实时时钟(RTC)通过串口助手打印时间时出现乱码的方法。具体步骤包括修改串口助手的编码设置,从UTF-8改为西欧编码标准,从而实现正确显示中文。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下图是我用串口助手打印stm32的RTC时间时出现的问题,其中格子部分是汉字

修改配置后显示正常,步骤如下:

1.右键点击左边405对话这个,选择编辑对话

2.点击终端设置

3.将默认的UTF-8编码改成西欧的编码标准

4.重启软件

# bilibili搜索学不会电磁场看教程 # 第六课,在以往的课程中,我们都是链接电脑来运行代码,这节课我们学习如何离线运行代码,这种情况我们需要一块屏幕来 # 查看运行情况 import time import os import sys from media.sensor import * from media.display import * from media.media import * from time import ticks_ms sensor = None try: print("camera_test") sensor = Sensor(width=640, height=640) sensor.reset() # 鼠标悬停在函数上可以查看允许接收的参数 sensor.set_framesize(width=640, height=640) sensor.set_pixformat(Sensor.RGB565) Display.init(Display.ST7701, width=800, height=480, to_ide=True) # 初始化媒体管理器 MediaManager.init() # 启动 sensor sensor.run() clock = time.clock() while True: clock.tick() os.exitpoint() img = sensor.snapshot(chn=CAM_CHN_ID_0) # # 绘制字符串,参数依次为:x, y, 字符高度,字符串,字符颜色(RGB三元组) # img.draw_string_advanced(50, 50, 80, "hello k230\n学不会电磁场", color=(255, 0, 0)) # # 绘制直线,参数依次为:x1, y1, x2, y2, 颜色,线宽 # img.draw_line(50, 50, 300, 130, color=(0, 255, 0), thickness=2) # # 绘制方框,参数依次为:x, y, w, h, 颜色,线宽,是否填充 # img.draw_rectangle(1000, 50, 300, 200, color=(0, 0, 255), thickness=4, fill=False) # # 绘制关键点, 列表[(x, y, 旋转角度)] # img.draw_keypoints([[960, 540, 200]], color=(255, 255, 0), size=30, thickness=2, fill=False) # # 绘制圆, x, y, r # img.draw_circle(640, 640, 50, color=(255, 0, 255), thickness=2, fill=True) # # 精细的像素级操作,虽然说其实一般用不上,这里利用像素填充的方式绘制一个非常奇怪的方块吧 # for i in range(1200, 1250): # for j in range(700, 750): # color =((i + j)%256, (i*j)%256, abs(i-j)%256) # img.set_pixel(i, j, color) # 矩形识别,可以用来找矩形的四个角的坐标 img_rect = img.to_grayscale(copy=True) img_rect = img_rect.binary([(82, 212)]) rects = img_rect.find_rects(threshold=10000) if not rects == None: for rect in rects: corner = rect.corners() img.draw_line(corner[0][0], corner[0][1], corner[1][0], corner[1][1], color=(0, 255, 0), thickness=5) img.draw_line(corner[2][0], corner[2][1], corner[1][0], corner[1][1], color=(0, 255, 0), thickness=5) img.draw_line(corner[2][0], corner[2][1], corner[3][0], corner[3][1], color=(0, 255, 0), thickness=5) img.draw_line(corner[0][0], corner[0][1], corner[3][0], corner[3][1], color=(0, 255, 0), thickness=5) img.draw_string_advanced(50, 50, 80, "fps: {}".format(clock.fps()), color=(255, 0, 0)) img.midpoint_pool(2, 2) img.compressed_for_ide() Display.show_image(img, x=(800-320)//2, y=(480-320)//2) except KeyboardInterrupt as e: print("用户停止: ", e) except BaseException as e: print(f"异常: {e}") finally: if isinstance(sensor, Sensor): sensor.stop() Display.deinit() os.exitpoint(os.EXITPOINT_ENABLE_SLEEP) time.sleep_ms(100) MediaManager.deinit()
最新发布
08-01
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Rookie Linux

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值