第二次实验

#include<stdio.h>
int main(){
 char a,b,c,d,e;
 a = getchar();
 b = getchar();
 c = getchar();
 d = getchar();
 e = getchar();
 putchar(a);
 putchar(b);
 putchar(c);
 putchar(d);
 putchar(e);
 return 0;
}

#include<stdio.h>
int main()
{
 int year;
 scanf("%d", &year);
 if((year%100 != 0 && year%4 == 0) || year%400 == 0){
  printf("year:%d, day:29\n",year);
 } else  {
  printf("year:%d,day:28\n",year);
 }
 return 0;
}

#include<stdio.h>
int main()
{
 double a,b,c;
 scanf("%lf%lf%lf",&a,&b,&c);
 if((a + b)<=c||(a+c)<=b||(b+c)<=a){
  printf("无法构成三角形");
 } else if (a==b&&b==c){
  printf("构成等边三角形");
 } else if(a==b||a==c||b==c){
  printf("构成等腰三角形");
 } else if((a*a+b*b)==c*c||(a*a+c*c)==b*b||(b*b+c*c)==a*a){
  printf("构成直角三角形");
 } else {
  printf("构成一般三角形");
 } return 0;
}

 

 

 

 

 

 

 

#include<stdio.h>

#include<math.h>

int main(){  

int a;

 double r[5];

 r[0]=0.00;

 r[1]=0.05;

 r[2]=0.08;

 r[3]=0.10;

 r[4]=0.15;

 scanf("%d",&a);

 if(a<500){   printf("a=%d,rate=%lf,tax=%lf,profit=%lf\n",a,r[0],a*r[0],a-a*r[0]);  }

 if(a>=500&&a<1000){   printf("a=%d,rate=%lf,tax=%lf,profit=%lf\n",a,r[1],a*r[1],a-a*r[1]);  }

 if(a>=1000&&a<2000){   printf("a=%d,rate=%lf,tax=%lf,profit=%lf\n",a,r[2],a*r[2],a-a*r[2]);  }

 if(a>=2000&&a<5000){   printf("a=%d,rate=%lf,tax=%lf,profit=%lf\n",a,r[3],a*r[3],a-a*r[3]);  }

 if(a>=5000){   printf("a=%d,rate=%lf,tax=%lf,profit=%lf\n",a,r[4],a*r[4],a-a*r[4]);  }

 return 0; }

 
 
 
 

 

转载于:https://www.cnblogs.com/p201821440003/p/10750693.html

<think>好的,用户需要寻找嵌入式系统第二次实验的相关资料,包括实验报告、指导书和代码示例。首先,我需要确认用户提到的第二次实验具体内容,但用户并没有详细说明,所以可能需要参考常见的嵌入式系统实验内容。根据用户提供的引用[2],其中提到了触摸屏的工作原理、嵌入式系统编程(如微控制器配置、C/C++编程)、驱动程序编写等,这可能与第二次实验相关。 接下来,我需要根据引用[2]的内容来推测可能的实验内容。比如,第二次实验可能涉及触摸屏控制系统的实现,包括硬件连接、驱动程序开发或应用程序设计。因此,实验指导书可能涵盖这些主题,而代码示例可能涉及微控制器的配置和触摸屏驱动的编写。 用户可能需要具体的实验步骤、代码示例以及撰写实验报告的指导。需要确保回答结构清晰,分点列出实验报告的结构、指导书要点和代码示例,并引用提供的参考文献中的内容。同时,生成的相关问题需要围绕嵌入式系统实验的常见难点和应用场景展开。 需要检查是否所有数学表达式都正确使用了$...$或$$...$$格式,但根据用户的问题,可能涉及较少数学内容,更多是代码和实验步骤。最后,确保回答符合用户可见层的要求,结构清晰且真实可靠。</think>### 嵌入式系统第二次实验资料整理 #### 1. 实验报告框架(参考引用[2]) 实验报告通常包含以下内容: - **实验目的**:掌握触摸屏硬件接口配置与驱动开发[^2] - **实验设备**:微控制器(如STM32)、电阻/电容式触摸屏、调试工具 - **实验步骤**: 1. 硬件电路连接与GPIO配置 2. 编写触摸屏初始化函数(I2C/SPI通信) 3. 实现坐标数据采集与滤波算法 4. 设计简单GUI交互界面(如按钮响应) - **代码示例**(STM32 HAL库): ```c void Touch_Init() { HAL_I2C_Init(&hi2c1); uint8_t config_data[2] = {0x80, 0x03}; // 触摸屏配置寄存器 HAL_I2C_Master_Transmit(&hi2c1, 0x48<<1, config_data, 2, 100); } uint16_t Read_Touch_X() { uint8_t data[2]; HAL_I2C_Master_Receive(&hi2c1, 0x48<<1, data, 2, 100); return (data[0] << 8) | data[1]; } ``` - **实验结果分析**:需包含时序图、坐标误差统计表 #### 2. 实验指导书要点(基于引用[2]) 核心内容包括: 1. **硬件层**: - 触摸屏接口电路设计(参考图) - 信号采样频率设置:$f_{sample} \geq 2f_{max}$(Nyquist定理) - 去抖动算法实现(移动平均滤波) 2. **驱动层开发**: - 中断服务程序设计 - 坐标转换算法:$$x_{screen} = k \cdot x_{raw} + b$$ 3. **应用层开发**: - 事件驱动编程模型 - 触摸手势识别基础(滑动、长按) #### 3. 关键代码模块 ```c // 触摸事件状态机 typedef enum { TOUCH_IDLE, TOUCH_PRESSED, TOUCH_HOLD } Touch_State; void Touch_Handler() { static Touch_State state = TOUCH_IDLE; uint16_t x = Read_Touch_X(); uint16_t y = Read_Touch_Y(); if(x > THRESHOLD) { switch(state) { case TOUCH_IDLE: state = TOUCH_PRESSED; break; case TOUCH_PRESSED: if(++hold_counter > HOLD_TIME) state = TOUCH_HOLD; break; } } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值