c - 如何在 esp uart 函数中写入十六进制值?
问题描述
#define RESET 0x00
#define XXXX 0xFE
unsigned short somefunction(unsigned char RW, unsigned char address, unsigned short val)
{
unsigned short output;
address |= RW << 7;
unsigned char host_chksum = address;
if (!RW) //If it is a register write operation
{
unsigned short chksum_short = (val >> 8) + (val & 0xFF) + address;
host_chksum = chksum_short & 0xFF;
}
uart_write_bytes(UART_NUM, (const char*)XXXX, strlen(0xFE));
uart_write_bytes(UART_NUM, (const char*)address, strlen(address));
return;
}
int app_main()
{
somefunction(1, 0x48, 0xFFFF);
return 0;
}
在您可以看到的代码中,我将 传递hexadecimal parameter
给 somefunction as unsgined char
。现在这个参数我必须写入 esp uart 函数 int ,uart_write_bytes(uart_port_tuart_num, const char *src, size_t size)
它采用second parameter
as const char*
so i type casted
。parameter
但是当它尝试写入 uart 时,它的不工作系统会崩溃。
我应该如何输入这个值,以便 esp uart 函数起作用?
解决方案
推荐阅读
- php - 如何使用 dompdf 在 codeigniter 中查看 pdf 文件?
- android - Android OpenGLES错误:会发生资源死锁
- xslt - 如何使用 XSLT 构建一个包含两列的 HTML 表格?
- git - Visual Studio Code - 将分支推送到原点
- java - Spring Boot(rest)中的级联验证问题
- php - 使用 PHP 在单引号和双引号之间查找内容
- excel - 在 Excel 中使用 VBA 在工作表之间共享单元格值以填充单元格中的数据
- php - 在 Laravel 中部署更改的最佳方式是什么
- apache-spark - 如何在流式查询中使用外部数据库(postgresql)作为输入?
- amazon-web-services - 用负载均衡器替换对 AWS 中 EC2 实例上托管的 Web 应用程序的弹性 ip 访问