Arduino如何读取中文文件名和中文文本文件?-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 529|回复: 2

[未解决] Arduino如何读取中文文件名和中文文本文件?

[复制链接]
回帖奖励 1 金币 回复本帖可获得 1 金币奖励! 每人限 1 次(中奖概率 50%)
发表于 2022-4-11 10:03 | 显示全部楼层 |阅读模式
Arduino如何读取中文文件名和中文文本文件?
我想用arduino读取tf卡中的文件,并且通过串口显示,但是在读取UTF-8编码的文件名中文小说的时候出现部分乱码,而读取文件名为中文的文本文件直接读不出来,应该怎么办?

图片1.png
图片2.png
图片3.png
 楼主| 发表于 2022-4-11 10:41 | 显示全部楼层
代码是这样的
  1. #include <SD.h>
  2. #include <SPI.h>

  3. File datafile;

  4. void setup(){
  5.   Serial.begin(9600);
  6.   SD.begin(6);
  7.   Serial.begin(9600);
  8.   datafile = SD.open("全球高考complete.txt");
  9.   while(datafile.available()) {
  10.     Serial.write(datafile.read());
  11.   }
  12.   datafile.close();
  13. }

  14. void loop(){

  15. }
复制代码
发表于 2022-4-11 14:31 | 显示全部楼层

回帖奖励 +1 金币

Serial 并不是什么时候都可以 write 的,当发送 FIFO 满时就会导致出错。

把 Serial.write 改为 :
  while( !Serial.availableForWrite( ) );
  Serial.write( ... );

可以确保不会出错。至于中文文件名,在国内的 PC 上文件名是以 GBK 格式存储的,
TF 卡内 GBK 编码的文件名,你用 UTF8 版本的 Arduino 自然是访问不到的

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 09:22 , Processed in 0.211101 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表