当前位置: 首页 > news >正文

上海网站设计兰州网站建设q479185700強

上海网站设计,兰州网站建设q479185700強,石家庄房产网 二手房出售,模特公司网站模板在工业控制、智能家居等领域#xff0c;串口屏作为人机交互的重要组件被广泛应用。理解串口屏的工作原理#xff0c;最好的方式是从基础的 C 语言编程入手。本文将通过实现一个简单的计算器#xff0c;逐步展示如何从传统 C 语言程序过渡到适合串口屏开发的代码结构。 目录…在工业控制、智能家居等领域串口屏作为人机交互的重要组件被广泛应用。理解串口屏的工作原理最好的方式是从基础的 C 语言编程入手。本文将通过实现一个简单的计算器逐步展示如何从传统 C 语言程序过渡到适合串口屏开发的代码结构。 目录 一、基础计算器实现 二、状态机设计模拟串口屏交互模式 三、串口屏实战淘晶驰代码解析 四、总结 一、基础计算器实现 让我们从最基本的 C 语言计算器开始 #include stdio.hint main() {double n0, n1; // n0:当前结果, n1:中间值char t1; // 运算符printf( 简易计算器 \n);// 输入第一个数字printf(请输入第一个数字: );scanf(%lf, n0);// 输入运算符printf(请输入运算符 (, -, *, /): );while (getchar() ! \n); // 清除缓冲区scanf(%c, t1);// 输入第二个数字printf(请输入第二个数字: );scanf(%lf, n1);// 根据运算符计算结果switch (t1) {case :n0 n1; break;case -:n0 - n1; break;case *:n0 * n1; break;case /:if (n1 0) {printf(错误除数不能为零\n);return 1;}n0 / n1; break;default:printf(错误不支持的运算符\n);return 1;}// 输出结果printf(计算结果: %.2f\n, n0);return 0; }运行结果如下: 二、状态机设计模拟串口屏交互模式 串口屏的交互模式与传统控制台程序不同更接近计算器的操作方式。下面我们实现一个支持连续计算的版本 #include stdio.h #include stdlib.h #include string.h #include ctype.h// 全局变量定义 double n0 0; // 当前输入值/计算结果 double n1 0; // 中间计算结果存储 char t1[2] ; // 当前运算符存储 char t2[2] ; // 输入状态标记// 初始化计算器状态 void initCalculator() {n0 0;n1 0;strcpy(t1, );strcpy(t2, );printf(计算器已初始化\n); }// 数字按钮处理函数 void handleDigit(int digit) {if (strcmp(t2, *) 0) {strcpy(t2, );n0 digit;} else {n0 n0 * 10 digit;}printf(当前值: %.2f\n, n0); }// 运算符按钮处理函数 void handleOperator(char op) {strcpy(t2, *);if (strcmp(t1, ) 0) {n1 n0;} else if (strcmp(t1, ) 0) {n1 n1 n0;n0 n1;} else if (strcmp(t1, -) 0) {n1 n1 - n0;n0 n1;} else if (strcmp(t1, *) 0) {n1 n1 * n0;n0 n1;} else if (strcmp(t1, /) 0) {if (n0 ! 0) {n1 n1 / n0;n0 n1;} else {printf(错误: 除数不能为0\n);}}t1[0] op;t1[1] \0;printf(当前运算符: %s\n, t1); }// 等号按钮处理函数 void handleEquals() {strcpy(t2, *);if (strcmp(t1, ) ! 0) {if (strcmp(t1, ) 0) {n1 n1 n0;} else if (strcmp(t1, -) 0) {n1 n1 - n0;} else if (strcmp(t1, *) 0) {n1 n1 * n0;} else if (strcmp(t1, /) 0) {if (n0 ! 0) {n1 n1 / n0;} else {printf(错误: 除数不能为0\n);}}n0 n1;printf(计算结果: %.2f\n, n0);} }// 清零按钮处理函数 void handleClear() {initCalculator(); }// 主函数 - 支持直接输入数字和运算符 int main() {initCalculator();char input[20];double number;char op;printf(计算器已启动\n);printf(输入格式: 数字 - 运算符(,-,*,/,) - 数字 - ...\n);printf(输入 c 清除计算器输入 q 退出\n);while (1) {printf(\n请输入: );scanf(%19s, input);// 处理命令if (strlen(input) 1) {op input[0];if (isdigit(op)) {handleDigit(op - 0);} else if (op || op - || op * || op /) {handleOperator(op);} else if (op ) {handleEquals();} else if (op c || op C) {handleClear();} else if (op q || op Q) {break;} else {printf(无效输入请重试\n);}} // 处理多位数字else if (sscanf(input, %lf, number) 1) {// 检查是否是合法的数字int i;for (i 0; input[i] ! \0; i) {if (!isdigit(input[i]) input[i] ! .) {break;}}if (input[i] \0) {// 如果是新输入直接设置值if (strcmp(t2, *) 0) {strcpy(t2, );n0 number;} // 否则视为错误输入不能追加多位数字else {printf(错误: 只能逐位输入数字\n);continue;}printf(当前值: %.2f\n, n0);} else {printf(无效输入请重试\n);}} else {printf(无效输入请重试\n);}}return 0; } 运行结果如下: 三、串口屏实战淘晶驰代码解析 以淘晶驰串口屏为例其开发逻辑与上述 C 语言状态机高度对应核心差异在于代码要写到控件下面的弹起事件。 淘晶驰串口屏系列文章 001串口屏介绍 002淘晶驰USART HMI 上位机软件安装 003淘晶驰串口屏开发初体验10分钟实现简易加法器 004淘晶驰串口屏复刻苹果计算器掌握按键控件的切图使用 005淘晶驰串口屏复刻苹果计算器掌握按键控件的切图使用-2个图片 006淘晶驰串口屏复刻苹果计算器掌握切图控件的使用 007淘晶驰串口屏复刻苹果计算器了解代码编写 以下是计算器界面的关键实现 /*----------------------------------------- 计算器采用双变量存储模式  n0.val - 当前输入值/计算结果 n1.val - 中间计算结果存储 t1.txt - 当前运算符存储、-、*、/ t2.txt - 输入状态标记*表示新输入开始 // 数字按钮通用逻辑 // 如果t2标记为*表示新输入开始则直接设置当前值 // 否则将当前值追加到已有数字后通过*10新数字实现 四、总结 本文以 C 语言编程为切入点系统展示了从传统计算器开发到串口屏交互逻辑的进阶过程,希望对您有帮助。关注我解锁更多实战技巧
http://www.w-s-a.com/news/840726/

相关文章:

  • 做直播网站要哪些技术内容营销理论
  • 价格划算的网站开发怎么找有赞做网站
  • 做网站店铺图片用什么软件网络营销方案格式
  • 做外贸要自己建网站吗有效的网络营销方式
  • 精通网站开发书籍做网站获取手机号码
  • 论坛做视频网站有哪些济南新站seo外包
  • 哪类型网站容易做冷水滩做微网站
  • 搭建企业网站流程保定徐水网站建设
  • 建设单位到江川区住房和城乡建设局网站伦敦 wordpress 设计
  • 响应式网站的服务麦德龙网站建设目标
  • 做国外单的网站叫什么海南省海口市网站建设
  • 杭州响应式网站案例wordpress5.2.2
  • 网站建设运营维护合同wordpress资源搜索插件
  • 国外网站流量查询东莞网站建设教程
  • 餐饮类网站建设达到的作用东莞工程建设交易中心网
  • 网站设计 知识产权湖北网站建设xiduyun
  • 猫咪网站模版下载中国风 古典 红色 网站源代码
  • 个人网站备案模板制作网站首页
  • 潍坊正规建设网站网站建设设计作业
  • 推荐一下网站谢谢辽宁住房城乡建设部官方网站
  • 网站文件大小英选 网站开发
  • 济南建网站哪家好wordpress编辑器排行
  • 在福州做搬家网站多少钱画册设计网站有哪些
  • 如何让别人浏览我做的网站哪些方法可以建设网站
  • 网站建设与管理网络推广的优点
  • 美食网站的设计与制作做网站的电销话术
  • 中国档案网站建设现状研究陕西建设厅执业资格注册中心网站
  • 网站建设的内容管理怎么用ps切片在dw里做网站
  • 建设婚恋网站用什么搭建涿州网站开发
  • 做知识内容的网站与app哈尔滨哪里有做网站的