硬件与C语言的联系
由硬件联系C语言由于之前我有一定的C语言基础我这里只是将C语言和硬件联系并不重新学习只是相当于重新复习加深理解程序保存在Flash里各种指令当CPU通电后告诉CPU去读、写某些地址内存暂存内容C语言C程序就是去告诉CPU该怎么去读写内存及各个模块变量定义变量定义大小数据类型且系统分配内存空间分配地址在电路板里用电路电压表示数值1/0所以暂且认为1个晶体管表示1bit的数据不是0就是11byte字节 8bit比特当一个变量的内容超出了分配的大小就只能容纳其低分配大小位的内容有符号的变量最高位是符号位小字节序低位数据存在低地址大字节序低位数据存在高位地址原码、反码和补码原码最高位位符号位0为正数1为负数反码正数的反码原码负数的反码原码除了符号位不变其余位取反补码:正数的补码原码负数的补码反码1内存里存的数据是补码补码的意义就是统一了加法和减法方便了硬件的设置地址指针32位CPU发出32根地址信号给内存控制器内存控制器转发地址信号不一定全部转发可能只转发若干根给外设模块如内存GPIO,UART,Flash等模块这些模块根据地址信号去访问对应的单元用指针访问硬件当指针是内存地址的时候可以对相应地址的内容进行操作同理当指针是其它硬件模块的地址的时候也可以通过写入不同的值来对其状态进行操作但具体的硬件的地址和操作的值要去查关于指针类型的选择当是8位的时候用char *32位的时候用int *比如当都是40021414这个地址时char只能访问这个地址后的8位int则能访问这个地址后的32位字节对齐当数据分配的空间像上面一样排布的时候要去找score时得先根据100找出101、102、103再根据104找出104再进行组合这样cpu效率很低所以要采用字节对齐的方式提高效率对齐的规则1.单个成员成员存放的起始地址必须是这个成员的自身字节数的整数倍空位补填充字节2.嵌套结构体结构体整体当作一个成员是对齐值取它内部最大基本类型的字节3.整个结构体总大小结构体最后的总字节数必须是结构体内最大数据类型字节数的整数倍不够就在尾部填充结构体指针结构体指针指向的是结构体空间的起始空间用结构体指针来操作硬件总结在cpu看来一切都是地址指针举例操作GPIO根据GPIO模块的硬件地址偏移量设计结构体函数指针使用函数的时候实际上是引用它的某个地址我们可以用一个变量的来保存它的地址从而达到一样的效果高级用法1.函数指针作参数调用函数时栈会分配空间这样会直接跳到f所表示的函数地址去执行2.函数指针数组3.结构体中的函数指针3.结构体中的函数指针[外链图片转存中…(img-EHwymfSG-1785503118906)][外链图片转存中…(img-ye7TiOen-1785503118906)][外链图片转存中…(img-eJDzb3mA-1785503118906)]

相关新闻

从模糊到电影级细节,可灵画质增强全流程实战指南,含FFmpeg+Python自动化部署脚本

从模糊到电影级细节,可灵画质增强全流程实战指南,含FFmpeg+Python自动化部署脚本

更多请点击: https://intelliparadigm.com 第一章:可灵画质增强技术原理与演进脉络 可灵画质增强技术是一套面向多源异构视频流的端到端智能重建框架,其核心在于融合频域补偿、神经纹理合成与感知一致性约束三大技术支柱。早期版本依赖传统插…

2026/8/1 3:43:10 阅读更多 →
图吧工具箱 TubaWinUI3:装机佬的“新装备“,这次真的不一样了

图吧工具箱 TubaWinUI3:装机佬的“新装备“,这次真的不一样了

提起"图吧工具箱",老玩家脑海里浮现的可能是那个界面朴素、功能硬核、装机必备的经典工具集。而现在,它迎来了基于 WinUI 3 与 .NET 10 的彻底重构——TubaWinUI3 版本。不是换皮,是从底层到体验的全面升级。 图吧工具箱 TubaWinU…

2026/8/1 3:43:10 阅读更多 →
VIVADO时序违例实战:从原理分析到优化策略全解析

VIVADO时序违例实战:从原理分析到优化策略全解析

1. 项目概述:当VIVADO告诉你“时序不满足”在FPGA开发这条路上,跑完综合(Synthesis)看到一堆警告可能还不会太慌,但一旦进入实现(Implementation)阶段,尤其是布局布线(Pl…

2026/8/1 3:43:10 阅读更多 →

最新新闻

24-皮肤与主题-打造个性化CLI外观

24-皮肤与主题-打造个性化CLI外观

24 皮肤与主题——打造个性化CLI外观 "每天要盯着这个黑白终端看8个小时,它能不能好看一点?"这是夏明在使用Hermes CLI一段时间后的真实想法。虽然功能强大,但默认的外观让长时间工作的他感到视觉疲劳。幸运的是,Hermes提供了丰富的皮肤系统,让终端不再单调,…

2026/8/1 4:25:27 阅读更多 →
联盟营销实战指南:从零构建被动收入的完整路径

联盟营销实战指南:从零构建被动收入的完整路径

1. 项目概述:从零开始理解联盟营销如果你在网上冲浪时,经常看到“躺赚”、“被动收入”、“零成本创业”这类诱人的词汇,那么你大概率已经和“Affiliate Marketing”打过照面了。这个词翻译过来叫“联盟营销”,也有人叫它“联署营…

2026/8/1 4:25:27 阅读更多 →
LaTeX多图排版指南:subcaption与minipage实现专业子图与并列图

LaTeX多图排版指南:subcaption与minipage实现专业子图与并列图

1. 从“一张图不够用”说起:为什么需要子图与并列图在撰写学术论文、技术报告或者准备演示文稿时,我们经常会遇到一个非常具体且普遍的需求:如何将多张相关的图片,以清晰、专业且美观的方式组织在同一张图里?比如&…

2026/8/1 4:25:27 阅读更多 →
MyBatis-Plus Wrapper 深度解析:从核心原理到数据权限实战

MyBatis-Plus Wrapper 深度解析:从核心原理到数据权限实战

1. 项目概述:为什么我们需要深入理解 Wrapper如果你用过 MyBatis-Plus,那你肯定绕不开Wrapper这个核心组件。它绝不仅仅是一个用来拼接 SQL WHERE 条件的工具类。在我经手过的十几个中后台项目中,但凡涉及到复杂查询、动态条件构建或者数据权…

2026/8/1 4:25:27 阅读更多 →
物理信息神经网络(PINN)在多变量回归预测中的应用与实践

物理信息神经网络(PINN)在多变量回归预测中的应用与实践

1. 物理信息神经网络(PINN)基础概念物理信息神经网络(Physics-Informed Neural Networks, PINN)是近年来兴起的一种将物理定律与深度学习相结合的混合建模方法。不同于传统神经网络仅依赖数据驱动,PINN通过在损失函数中…

2026/8/1 4:25:27 阅读更多 →
大模型API调用中Token消耗异常分析与优化实战指南

大模型API调用中Token消耗异常分析与优化实战指南

如果你在大模型推理过程中发现 token 消耗速度远超预期,或者明明输入不长却扣了大量 token,这篇文章就是为你准备的。很多开发者在接入 OpenAI、Claude、智谱、DeepSeek 等 API 时都遇到过类似问题:调用账单显示 token 使用量异常&#xff0c…

2026/8/1 4:24:26 阅读更多 →

日新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/1 0:00:48 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/1 0:00:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/1 0:00:48 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/31 1:03:03 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/29 14:34:28 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/31 4:19:39 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/1 0:00:48 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/1 0:00:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/1 0:00:48 阅读更多 →