
语言编程
文章平均质量分 80
Mr_Johhny
有志者,事竟成。
展开
-
Eclipse IDE for ModusToolbox™ 3.4环境通过JLINK调试CYT4BB
使用JLINK在Eclipse IDE for ModusToolbox™ 3.4环境下调试CYT4BB,配置是难点。总结一下在IDE中配置JLINK调试中遇到的坑,以及如何一步一步解决遇到的问题。原创 2025-03-27 00:21:56 · 403 阅读 · 0 评论 -
STM32通过PID调节混水比例调节阀开度的调试心得
有关PID的理论相关的内容,网上有很多介绍很全很专业,然而看完后并不能应用于项目落地,本文描述一个真实的PID控制混水中心出水温度的案例。关于PID控制,借用一下网上的图片:本案例目的是混水中心输出温度基本恒定的水温,在一定误差范围内。故Setpoint为出水设定温度(该数据保留1位小数,并乘以10,按照整数形式计算);实际出水温度通过PT100采样,并经过A/D转换相关计算后得到(该...原创 2019-11-03 13:08:55 · 5238 阅读 · 2 评论 -
Linux C 写日志文件 log4c(使用系统方法实现)
在Linux环境下调试程序,很多时候需要打印日志文件。如何可以方便快捷的打印出自己想要的日志文件的格式,有没有一个统一的方法,不需要定义多个呢?今天探索了一下这个问题的答案,还真有。以前打印日志文件的时候,定义过的方法如下:void log4c_str(char *filepath, char *msg, char *str){ char tmpstr[128]; sprint...原创 2019-08-17 17:39:40 · 3529 阅读 · 0 评论 -
C语言带有指针变量的函数指针的应用示例
首先,引用一下函数指针的定义:在C语言中,一个函数总是占用一段连续的内存区,而函数名就是该函数所占内存区的首地址。我们可以把函数的这个首地址(或称入口地址)赋予一个指针变量,使该指针变量指向该函数。然后通过指针变量就可以找到并调用这个函数。我们把这种指向函数的指针变量称为“函数指针变量”。函数指针变量定义的一般形式为:类型说明符 (*指针变量名)();其中“类型说明符”表示被指函数的返...原创 2019-08-19 17:02:38 · 664 阅读 · 0 评论 -
Linux C语言使用cJSON操作json
有一个需求,使用C语言,通过cJSON来操作json。流程如下:1、创建一个空的根json对象,并打印json字符串。2、判断json中是否存在键"mode_1",不存在则打印信息3、json中不存在键"mode_1",创建一个键为"mode_1",值均为26的int类型数组,数组长度为32 。4、将新创建的"mode_1"对象添加到根json对象中,并打印json字符串。5、...原创 2019-07-11 17:15:55 · 1275 阅读 · 0 评论 -
STM32F103RCT6使用HY-SRF05 五针超声波测距模块进行测距实现
功能简述:STM32F103RCT6使用HY-SRF05五针超声波测距模块进行测距,再将测距好的值通过串口2DMA方式发送到PC的串口调试助手上。HY-SRF05五针超声波测距模块描述:软件实现思路:1、精准的延时工具2、超声波模块TRIG引脚连接到STM32的某个引脚,推挽输出,通常情况是低电平。触发超声波信号时,将STM32的这个引脚拉高,制造一个上升沿,并延时>10...原创 2019-06-25 09:49:53 · 7144 阅读 · 9 评论 -
STM32F103RC USART2串口中断方式接收数据
现有一个小需求,使用STM32F1系列单片机做串口2的收发数据的功能,通过PC上的串口调试助手给单片机发一串数据,单片机收到数据后再给PC的串口调试助手发回去。先前有一篇是通过串口查询方式实现的,本次使用串口中断方式实现。STM32使用USART2,对应单片机的PA1控制方向,PA2发送,PA3接收。代码如下:main.c#include "stm32f10x.h"u8...原创 2019-05-23 19:00:21 · 10087 阅读 · 4 评论 -
STM32F103RC USART2串口查询方式接收数据
现有一个小需求,使用STM32F1系列单片机做串口2的收发数据的功能,通过PC上的串口调试助手给单片机发一串数据,单片机收到数据后再给PC的串口调试助手发回去。看似简单的功能,调试了好久才调好,记录一下供大家参考。STM32使用USART2,对应单片机的PA1控制方向,PA2发送,PA3接收。代码如下:z_hardware_usart2.h#ifndef __STM32F10...原创 2019-05-13 15:38:53 · 7321 阅读 · 7 评论 -
STM32F1 USART2 DMA查询方式收发数据
现有一个小需求,使用STM32F1系列单片机做串口2的收发数据的功能,通过PC上的串口调试助手给单片机发一串数据,单片机收到数据后再给PC的串口调试助手发回去。本次使用的是串口DMA方式接收数据,和DMA方式发送数据。STM32使用USART2,对应单片机的PA1控制方向,PA2发送,PA3接收。代码如下:main.c#include "stm32f10x.h"#incl...原创 2019-05-25 18:15:05 · 4486 阅读 · 5 评论 -
C语言去除字符串空格的方法ltrim/rtrim/strim
自定义一个C语言去除字符串左边空格,去除字符串右边空格,去除字符串两边空格的方法。代码如下:#include <stdio.h>#include <stdlib.h>#include <string.h>int ltrim(char *str, char *done);int rtrim(char *str, char *done);int s...原创 2019-04-20 15:21:15 · 4351 阅读 · 0 评论 -
STM32F10x读取DS1302的时间,通过USART显示在串口调试助手上
STM32的开发板上有个DS1302芯片,STM32从DS1302上读取时间,并通过串口通讯显示在PC的串口调试助手上。STM32和DS1302的接线如下:代码如下:#include "stm32f10x.h"#include <stdio.h>#include <string.h>#define AHB_INPUT 72#define DS1...原创 2019-05-02 18:01:16 · 2956 阅读 · 3 评论 -
STM32入门程序-LED灯亮灭
学习STM32的入门课程,从点亮和熄灭LED小灯做起。本次实验使用STM32F103RC的芯片,其中LED1接到STM32芯片的PA8引脚,LED2接到STM32芯片的PB15引脚,如下图:LED小灯的电路暂不上传,其中PA8和PB15为低电平的时候,LED1和LED2灯点亮;高电平的时候,LED1和LED2灯熄灭。有了以上的理论基础,下面在Keil5中新建工程,关于工程的创建和里...原创 2019-04-27 10:08:27 · 5987 阅读 · 3 评论 -
Linux C使用cJSON解析不存在字段的健壮性处理方法
程序的健壮性是程序是否能长期稳定运行的重要因素,在写每一句代码的时候一定尽可能的考虑程序不崩溃。今天在处理Linux C代码的时候,发现程序刚刚启动就崩溃了,在telnet窗口键入top竟然没有对应的进程号。后来打印日志的时候发现是cJSON解析json不存在的字段的时候,由于处理不当导致的。可能导致程序崩溃的代码如下:char *data = "{\"94\":\"hell...原创 2019-02-20 16:02:29 · 2080 阅读 · 1 评论 -
Mysql ResultSet ResultSetMetaData 便捷查询
最近在做一些数据处理的事情,用的java的main函数来实现,数据来源于mysql数据库,也就是说我需要用mysql最简单粗暴的方式进行数据查询。但是遇到的问题是,每次查询的字段是不相同的,导致的结果就是每次都需要写大量不必要的代码,情况类似于这样:ResultSet rs = statement.executeQuery(sql); List<Map<Strin...原创 2018-10-25 17:02:09 · 547 阅读 · 0 评论 -
Log4j简单扩展应用Appender
日志打印是每个程序必须具备的基本功能,用于方便问题排查及恢复现场。然而日志的用途不仅仅局限于此。可以通过日志打印做一些额外的事情,比如说,每一条符合要求的日志需要存储到阿里云日志服务上。做这个事情,前提还不能影响程序的原本的逻辑,也不能给程序增加额外的负担。这个时候,Log4j的Appender就是比较好选择。看示例:package com.longlong.log.demo;import o...原创 2018-04-18 18:04:52 · 814 阅读 · 0 评论 -
java 解压zip java.lang.IllegalArgumentException: MALFORMED 错误
zip压缩包在解压过程中,遇到了错误,提示如下java.lang.IllegalArgumentException: MALFORMED at java.util.zip.ZipCoder.toString(Unknown Source) at java.util.zip.ZipInputStream.readLOC(Unknown Source) at j原创 2017-03-02 17:00:05 · 59472 阅读 · 8 评论 -
js代码对日期限制
现在有一个需求:js代码对比两个时间,1、开始时间要早于结束时间;2、结束时间和开始时间的间隔不大于7天function comptime(beginTime, endTime){ //时间的字符串格式“yyyy-MM-dd” var beginTimes=beginTime.substring(0,10).split('-');原创 2016-10-11 20:41:25 · 3239 阅读 · 1 评论 -
request.setCharacterEncoding(encoding);获取到null的问题
用servlet写了一个小demo,在打印String charSet = req.getCharacterEncoding();System.out.println(charSet);的时候,发现打印的值是null。查阅资料(request.getCharacterEncoding() returns NULL… why?),并测试发现,请求的时候,需要指定字符编码。举例:原创 2016-09-23 14:05:27 · 1912 阅读 · 0 评论 -
C++控制台程序获取本机IP地址
#include #include #include #include //using namespace std;#pragma comment(lib,"wsock32.lib")int main(){char buf[256]="";struct hostent *ph = 0;WSA转载 2013-12-06 10:34:11 · 636 阅读 · 0 评论