自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 C语言 打印和查看浮点flaot的二进制表示

看了点博客, 浮点型数据的存储方式基本了解了, 感觉还是要详细打印出来才能彻底理解, 这里简单的打印所有可能的浮点模式, 帮助理解。

2023-11-18 18:21:28 429 1

原创 C语言 把定义的宏根据名称规则转换为列表

这样写自然可以, 就是有些麻烦, 我们只希望简单将所有里面有TYPEA的初始化到数组, 可套用如下模板。

2023-11-18 12:48:39 87 1

原创 ARM Linux 驱动 利用 ioremap 动态修改寄存器实现 beep 的打开和关闭

我们有时想要临时修改一个寄存器的值, 虽然可以专门写个驱动模块但是有点麻烦. 因此就写个简单的动态修改寄存器值的工具。

2023-11-10 12:07:13 135 1

原创 Linux 驱动 HC_SR04 距离传感器使用参考和简单注解

HC_SR04 这个距离传感器接口比较简单, 简单实现一个驱动作为学习样例。

2023-11-09 15:29:42 146 1

原创 STM32 一个简单的内存管理实现 支持4K对齐 和 回收合并

看到一个简单的内存分配器, 移植过来放到自己的开发板, 想用这个主要是它比较小而且自己也容易看懂, 目前基本也够用了//地址类型定义//可用内存描述//内存管理器} memx_t;/* 剩余容量 *//* 统计:最大值 *//* 释放失败的容量 *//* 释放失败的次数*/return;for (i = 0;addr_t a;for (i = 0;i++) {/* 有足够容量 */

2023-11-07 15:41:21 128

原创 STM32 UART 寄存器和内存值查看工具函数

我们调试硬件有时候需要查看寄存器或者内存的内容, 为此简单写了一个可以同时输出 n 个寄存器的工具, 只要给串口加个命令就可以用。

2023-11-06 22:35:46 316 1

原创 STM32 FreeRTOS DS18B20 驱动 使用ROM检查

最近移植了FreeRTOS, 这里记录下FreeRTOS下温度传感器的简单驱动, 顺便试试看rom验证//定义DS18B20引脚信息//输入和输出的位带操作PGout11PGin11//定义DS18B20引脚信息 # define DS18B20_PIN GPIO_Pin_11 //输入和输出的位带操作 # define DS18B20_DQ_OUT PGout(11) # define DS18B20_DQ_IN PGin(11)// 默认的rom//定义获取温度值的函数。

2023-11-06 11:19:50 433 3

原创 STM32 OLED 0.96 SPI总线 中文显示 和 TFTLCD共享字库

中文字库已经有了不过是TFTLCD驱动里的, 专门再给OLED写字库有些浪费内存, 所以要复用下. 开发板SPI2总线空着正好用PGout7//CS 片选PGout8//DC 命令数据控制PGout6//RES 复位PBout15//D1 数据 SPI2_MOSIPBout13。

2023-11-03 18:05:57 608

原创 Busybox(3) Linux文件系统配置Telnet远程登录

有时候设备离办公地点有点远, 或者 设备所处环境不好, 可以利用 Telnet 远程登录, 要求开发板能插网络。

2023-11-03 12:31:55 278

原创 Busybox(2) 最简Linux文件系统登录验证和最简初始配置

mkdir /root 这个文件夹是root的默认启动位置, 不加会报个错。接下来就是继续配置环境变量和从工具链里复制其他需要的动态链接库。

2023-11-03 08:55:58 131

原创 Busybox(1) 制作最简的Linux文件系统

【代码】使用Busybox制作的最小的Linux文件系统。

2023-11-02 20:49:48 139

原创 嵌入式系统学习杂记

1, 简单高效的解决中断引起的并发2, 屏蔽中断应尽量使用local_irq_save和local_irq_restore3, 中断屏蔽的时间不宜过长, 因为中断必须执行完才会继续调度4, 只能屏蔽本地cpu中断, 对于对称多处理器 SMP, CPU之间的竞态继续存在1, 利用了汇编的不可分割性, 和cpu架构密切相关, 汇编不直接支持就用中断屏蔽等手段2, 只能用于整形变量 int, 能使用的时候尽量使用, 比任何锁和屏蔽消耗少3, 还有位原子操作// 追//设置上限。

2023-11-02 13:46:17 297

原创 C语言 标准输入取得一行字符串方法总结

getchar() 返回标准输入的一个字符没有其他功能, 可以用来自定义读取, 也可以配合上面清理缓冲区如下。只是使用清理缓冲区要确定是否有缓冲残留, 否则会变成等待输入…, 一般可以用是否读取了 ‘\n’ 判断。fgets 尽量输入全部内容包括 ‘\n’, 且在最后追加 ‘\n’ 后追加 ‘\0’.如下使用fgets实现一个 丢弃型 单行读取, 感觉还不如用getchar实现简单。scanf输入字符串需要设置缓冲区大小, 且比缓冲区大小少。注意scanf不会清理缓冲区.,剩下的会在下一次输入时取得。

2023-04-19 12:48:38 2727

原创 C语言ctype.h类型判断函数简单整理

看上图即可理解前人是如何整理归纳字符集的. 多看看这图可以方便理解记忆。ctype.h里的函数还是蛮常用, 看到书的整理的不错这里做下笔记。

2023-04-10 16:01:53 63

原创 Java DAO Spring Boot 架构可行性研究

公司上层决定逐渐将目前使用的c#+SqlServer后端模式逐渐转向Java+MySql模式。估计很长一段时间内两种模式会并行存在。c#+SqlServer虽然开发效率高,我们也比较熟练,但是授权成本也不容忽视。Java 开源+MySql近几年已经发展的非常成熟,开发工具非常齐全, 而且有些客户还指定要求java版的后端。本人虽然早年接触过Java,但时间已经久远,忘得也差不多了。这次要重新开始学习Java基础。也比较下和c#语言的区别。

2023-04-09 23:53:42 334

原创 C/C++语言里右++ 和 *的优先级问题

可以看到++运算符的确优先级较高, 且这次输出结果大了1, 初值0并没有输出.可以看到100和200在正确的位子上, ++最后执行。这里使用了=运算符模拟输出, 这里输入0. 结果如下。里面就一个数组, 指针解引用同时右++, 结果如下。这样的写法也是正确的.接下来实现一个类, 重载* 和 ++ 运算符。虽然也能大体理解, 但还是要验证下.首先看看简单的int 数组 和 指针。下面样例使用最新的g++编译器。看了书本上写++ 比。的优先级高, 又看到。

2023-04-06 09:35:35 148 1

原创 vim 编辑器常用自定义配置整理

vim编辑器的默认配置不太好用,稍微自定义下可以增加工作效率,以下是整理来的常用的配置。配置文件在 ~/.vimrc , 不存在可新建。按需配置重启vim即可。

2023-04-01 16:29:53 639 1

原创 c语言的全局变量规则验证

C语言的全局变量到底是何规则

2023-03-31 22:00:49 189 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除