无法在linux下启用ttysac0串口 终端只打印信息,启动出现mmc0: error -110 whilst initialising SD card该如何解决?...
时间: 2024-04-21 12:25:52 浏览: 13
错误信息 "mmc0: error -110 whilst initialising SD card" 表示系统在初始化 SD 卡时发生了错误。这可能是由于 SD 卡故障、连接问题或内核驱动程序问题引起的。您可以尝试以下几种方法来解决这个问题:
1. 确保 SD 卡已正确插入,并且连接良好。检查 SD 卡读卡器和电缆是否损坏。
2. 检查系统是否已正确识别串口。您可以使用 "dmesg" 命令来检查系统消息。如果您没有看到任何关于串口的信息,请检查串口驱动程序是否已正确加载。
3. 如果您使用的是旧版本的内核,请尝试升级到最新版本的内核。新版本的内核通常有更好的 SD 卡支持。
4. 您可以尝试使用 "mmcblk0" 作为块设备名称,而不是 "mmc0"。这可能有助于解决一些驱动程序问题。
5. 在启动时,尝试加入 "rootwait" 参数。这将使系统等待根文件系统准备就绪后再启动,以便 SD 卡有足够的时间启动。
希望这些方法能够帮助您解决问题。如果您仍然无法解决问题,请尝试在互联网上查找更多解决方案或咨询 Linux 社区的专家。
相关问题
. ERROR! The server quit without updating PID file(/usr/local/mysql/data/3940510-42c130. pid).
当出现"ERROR! The server quit without updating PID file"的错误时,可能有几种可能性。其中一种可能性是MySQL用户没有足够的权限来修改数据目录。可以通过执行"chown -R mysql.mysql /usr/local/mysql/data"来授予MySQL用户权限。
另一种可能性是与syslog(3)事件相关。如果产生了syslog(3)事件,则需要使用一个空的/etc/syslogd.conf文件运行syslogd(8),否则不需要运行它。
另外,在处理这个问题时,你可能需要进入u-boot shell,并更改cmdline来设置bootargs为"noinitrd root=/dev/mtdblock0 console=ttySAC0 init=/init"。如果你想重复这个过程,可以在u-boot shell中执行以上步骤,并输入"y"来重新启动。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [mysql启动时报错:Starting MySQL… ERROR! The server quit without updating PID file](https://download.csdn.net/download/weixin_38605967/13684113)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [FreeBSD开发手册(一)](https://blog.csdn.net/iteye_14514/article/details/81495930)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [快速上手的记录](https://blog.csdn.net/commshare/article/details/5930101)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]
Android 串口通讯 读出数据 mBuffInputStream.available() = 0 ,读出不到数据,提供串口读取数据案例代码,详细解释
好的,下面是 Android 串口通讯的代码示例,以及对代码的详细解释。
```java
private SerialPort mSerialPort;
private InputStream mInputStream;
private OutputStream mOutputStream;
private ReadThread mReadThread;
private class ReadThread extends Thread {
@Override
public void run() {
super.run();
while (!isInterrupted()) {
int size;
try {
byte[] buffer = new byte[64];
if (mInputStream == null) return;
size = mInputStream.read(buffer);
if (size > 0) {
onDataReceived(buffer, size);
}
} catch (IOException e) {
e.printStackTrace();
return;
}
}
}
}
private void onDataReceived(final byte[] buffer, final int size) {
// 处理接收到的数据
}
private void openSerialPort() throws SecurityException, IOException {
mSerialPort = new SerialPort(new File("/dev/ttySAC2"), 115200, 0);
mInputStream = mSerialPort.getInputStream();
mOutputStream = mSerialPort.getOutputStream();
mReadThread = new ReadThread();
mReadThread.start();
}
private void closeSerialPort() {
if (mReadThread != null) {
mReadThread.interrupt();
}
if (mSerialPort != null) {
mSerialPort.close();
mSerialPort = null;
}
}
private void sendData(byte[] data) {
try {
mOutputStream.write(data);
mOutputStream.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
```
上面的代码中,`openSerialPort()` 方法用于打开串口,其中 `/dev/ttySAC2` 是串口设备的路径,`115200` 是串口的波特率,`0` 是串口的标志位,可以根据实际情况进行修改。
在 `ReadThread` 中,我们通过 `mInputStream.read(buffer)` 方法读取串口数据,`buffer` 是读取到的数据缓存区,`size` 是实际读取到的数据长度。如果读取到数据,就调用 `onDataReceived()` 方法进行数据处理。
在 `onDataReceived()` 方法中,我们可以对接收到的数据进行处理,比如解析数据包等。
当我们调用 `mBuffInputStream.available()` 方法时,如果返回值为 0,说明当前没有读取到数据,这可能是因为数据还没有到达,或者是数据已经读取完毕。在这种情况下,我们可以等待一段时间再次尝试读取数据,或者通过其他方式判断数据是否已经全部到达。
希望这个例子能够帮助到你,如果还有其他问题,可以继续提问。