Keil抓取log

在很多情况下,我们想知道自己写的函数有没有被调用,可以在调用的函数里,写下:

DBG0_EVT0("Long_Key");

当然,DBG0、DBG1····的选取看具体情况。

下面,我们就可以抓log。


打开此软件(在装keil时一般都会自动安装。)


界面如下:



在这里,我们根据自己的实际情况选择。之后点OK就可以了。




然后我们就可以执行自己的动作,看之前写的那句话有没有被打印出来,若没有,则说明自己写的函数没有被调用。




### 实现方案 为了实现在 Android Studio 中通过 C51 单片机实现温湿度监控或测量的功能,整个系统可以分为硬件部分和软件部分。硬件上主要依赖于 C51 单片机以及相应的传感器模块;而软件方面则涉及到嵌入式程序编写与移动应用开发。 #### 硬件设计 - **核心控制器**:选用 STC89C52RC 或其他兼容型号作为主控芯片[^2]。 - **通信接口**:利用 UART 接口连接至 ESP8266 WiFi 模组来完成网络传输任务。 - **传感设备**:采用 DHT11/DHT22 温湿度传感器获取环境参数并发送给单片机处理。 #### 嵌入式编程 针对上述提到的核心组件,在 Keil uVision 下使用标准 C 语言编译器进行固件编码工作: ```c #include <reg52.h> #define DHT_PIN P3^7 // 定义DHT数据线引脚位置 void delay_ms(unsigned int ms); bit read_dht(void); sbit LED=P1^0; unsigned char temp,humi; float t,f; void main(){ while(1){ if(read_dht()){ f=(t*9)/5+32; // 转换摄氏度为华氏度 humi=temp/10; temp%=10; /* 发送温度湿度信息到ESP8266 */ ... delay_ms(2000); // 每隔两秒采集一次样本 LED=!LED; // 测试指示灯闪烁 } } } ``` 此代码片段展示了如何读取来自 DHT 的原始数值,并将其转换成易于理解的形式(如摄氏度转华氏度),之后还可以进一步扩展以支持向云端服务器上传这些数据。 #### 移动端应用程序构建 在 Android Studio 内创建一个新的项目用于展示实时监测结果。考虑到跨平台通讯的需求,建议采取 MQTT 协议或者 HTTP RESTful API 方式来进行消息传递。对于初学者来说,后者可能更为直观易懂一些。 下面是一个简单的 GET 请求例子,用来从远程服务器拉取消息更新 UI 组件中的显示内容: ```java // MainActivity.java snippet public class MainActivity extends AppCompatActivity { private TextView temperatureTextView, humidityTextView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); temperatureTextView = findViewById(R.id.temperature_text_view); humidityTextView = findViewById(R.id.humidity_text_view); new Thread(() -> { try { URL url = new URL("http://your.server.com/api/data"); HttpURLConnection conn = (HttpURLConnection)url.openConnection(); BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); String line; StringBuilder responseContent = new StringBuilder(); while ((line = reader.readLine()) != null) { responseContent.append(line).append("\n"); } JSONObject jsonResponse = new JSONObject(responseContent.toString()); final float temperature = Float.parseFloat(jsonResponse.getString("temperature")); final int humidity = Integer.parseInt(jsonResponse.getString("humidity")); runOnUiThread(() -> { temperatureTextView.setText(String.format("%.1f °F", temperature)); humidityTextView.setText(humidity + "% RH"); }); reader.close(); conn.disconnect(); } catch (Exception e) { Log.e("MainActivity", "Error fetching data from server.", e); } }).start(); } } ``` 这段 Java 代码实现了当 Activity 启动时发起一个异步请求去抓取最新的温湿度记录,并刷新界面上对应的视图元素。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值