数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 1348|回复: 16

[Arduino] 请教 变量类型转换处理怎么写? 全部转换成为char类型

[复制链接]
发表于 2021-11-16 22:22:32 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x
新手学习使用1602  困难多多 :shy:

如果使用液晶显示屏的驱动库 那会简单很多,但有时候可能各种原因会放弃使用库  比如为了减少体积
这也是茶正在尝试的,问题多多 请教各位了

1602的完整手册还没看到过,看TX们好象用到的指令才那么几条  但标准库上貌似有好多条 奇怪我找不到有0x28
1602有没有可以单独清除一行的指令? 不是全屏清除



不同类型的数据转换还没掌握,感觉需要有个函数模块来处理一下 再送给1602处理显示
这会是要用到sprintf吗

请教类型转换怎么写?需要2个,全部转换成为char类型   

1个用来接收数值, 处理转化 整数、浮点、可变长度.....

1个用来接收文本,处理转化 string类型或数组 ....

请TX多多指教 :handshake:

---------------------------------------------------------------------------

目前的处理方式  光标位置和显示内容 目前是分开的

LCD发送指令:void LCD_Send(char d,char RS)  其中d是内容,RS=0 内容为指令,RS=1 内容为显示内容

LCD显示方式:光标位置和显示内容 目前是分开的

*/




void LCD_Cursor(int col,int row){
    int pos,Line;
if (col<16 && row<2){  
      pos=col ; Line=row ;    // col为列位置 ,row=0 第一行,
      if(Line==0) {
        LCD_Send(0x80+pos,0);         // 参数0  发送的是指令
      }
      else {
        LCD_Send(0xC0+pos,0);
      }
}
}


void LCD_Print(char words[16])
{
  int len,count;
    len = strlen(words);
  for (count=0;count<len;count++)
  {
    LCD_Send(words[count],1);       // 参数1  发送的是显示内容
  }

}

新手 :shy:  好些理解可能都是错的   请指正  轻拍 :handshake:







打赏

参与人数 2家元 +40 收起 理由
t3486784401 + 20
qrut + 20

查看全部打赏

 楼主| 发表于 2021-11-16 22:54:13 | 显示全部楼层
devcang 发表于 2021-11-16 22:36
这些是C/C++的基础知识。

在单片机中,往往是比较单一的转换,所以通常自己写转换的过程。

热心坛友!  :handshake:

基础知识欠缺太多 :loveliness:  
太笨 记性也不好 唉


回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-16 23:22:15 | 显示全部楼层
广东梁百万 发表于 2021-11-16 22:50
我也是新手,我用汇编语言的风格写的LCD1602程序
可参考如下

传说中的汇编 :handshake:   厉害了

         void LCD1602SC();        //LCD1602全屏写入函数
         void LCD_SC1()     //全屏数据显示程序      ,需要显示的数据

这2个是跨行显示用的吧?  我还没用过

:praise: 老兄的时钟越来越棒了





回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-17 16:23:24 | 显示全部楼层
595953427@qq 发表于 2021-11-17 10:59
确实可以,你这种写法还真是第一次见到。

一起学习 :handshake:

回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-17 16:24:38 | 显示全部楼层
icec 发表于 2021-11-17 15:46
翻个祖传代码出来,这个是当年整数控电源时搞的个代码,用结构体来拆解和组合数字
变量转字符只要提取先出数 ...

一再帮助 非常感谢 !:handshake:

这些我得好好学习消化下
基础比较差 :shy:

回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-17 16:27:02 | 显示全部楼层
kaixi_ants 发表于 2021-11-17 12:42
void LCD_Print(char words[16])
因为是固定长度显示,不如像3楼那样直接使用全局变量,
这样容易实现滚动 ...

感谢帮助! :handshake:

准备学习下重新开始





回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-17 19:22:05 | 显示全部楼层
icec 发表于 2021-11-17 18:53
其实那一堆重点主要是,如何提出数字的`每一位.复制多了

很经典的方法 :handshake:

谢谢给找了那么多的资料 :handshake:
够我学一阵子了


   
回复 支持 反对

使用道具 举报

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

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-8-9 16:44 , Processed in 1.045202 second(s), 14 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

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