100分求一个简单的程序

billeo 2007-06-04 09:52:41
一个芯片(炬力的ATT7022B)中的寄存器存有二进制数,地址是0x01~0x0c。
现在要把这些地址里的二进制数依次读出来,再判断最高位。
最高位如果是0,则对该数除以2^8,
最高位如果是1,则对该数取反加1再除以2^8,

我是菜鸟,实在不知道该怎么写啊,高手们帮帮忙,小弟谢谢了啊
...全文
304 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
huashizhixin 2007-06-04
  • 打赏
  • 举报
回复
大概是这样的,没有测试的:
#define start 0x01
void main()
{

char number[12];
for(int i=0;i<12;i++)
{
number[i]=*(volatile unsigned char *)(start+i);
if(number[i]&(0x1<<7))
printf("%d\n", (int)(!number[i]+1)/2^8);
else
printf("%d\n", number[i]/2^8);
}
billeo 2007-06-04
  • 打赏
  • 举报
回复
谢谢大家啊,我明天结帖,对我有帮助的都有分
再谢谢大家
freshui 2007-06-04
  • 打赏
  • 举报
回复
炬力的 嘿嘿
:)


这是读写一个字节, 你看看能不能用上

void static inline action_writeb(UINT8 val, unsigned long reg)
{
*(volatile UINT8 *)(reg) = val;
}

static inline UINT8 action_readb(unsigned long reg)
{
return (*(volatile UINT8 *)reg);
}
jixingzhong 2007-06-04
  • 打赏
  • 举报
回复
至于数据怎么读取,
看看你手头上的帮助文档、程序例子等等的了 ...
jixingzhong 2007-06-04
  • 打赏
  • 举报
回复
type num; //这个是读取的数据num
int len=sizeof(num)*8; //计算数据的长度,即知道最高位是哪一位
if(num>>(1<<len)) //判断最高位是否为1
num = (~num +1)>>8; //如果是1,则对该数取反加1再除以2^8
else num = num>>8; // 如果是0,则对该数除以2^8
jixingzhong 2007-06-04
  • 打赏
  • 举报
回复
0x01~0x0c 这里是12个字节啊,
这是一个数据?
suyouxin 2007-06-04
  • 打赏
  • 举报
回复
呵呵,顶一个
billeo 2007-06-04
  • 打赏
  • 举报
回复
谢谢大家啊,OTL
星羽 2007-06-04
  • 打赏
  • 举报
回复
顶:)
spofmy 2007-06-04
  • 打赏
  • 举报
回复
顶一下
内容概要:本文系统介绍了物理信息神经网络(PINNs)在求解布洛赫-托雷(Bloch-Torrey)方程中的应用,结合PyTorch框架提供了完整的Python代码实现案例。文章深入阐述了如何将物理先验知识嵌入神经网络训练过程,通过构建复合损失函数,强制网络输出满足控制方程、初始条件与边界条件,从而实现对布洛赫-托雷方程的无网格化、高精度求解。该方法突破了传统数值方法在高维、多尺度及复杂几何场景下的计算瓶颈,展现出优异的泛化能力与计算效率,特别适用于医学成像、扩散磁共振等领域中复杂的物理场建模与仿真任务。; 适合人群:具备深度学习与偏微分方程理论基础,从事科学计算、生物医学工程、材料科学或相关交叉学科研究的研究生、科研人员及算法工程师。; 使用场景及目标:①应用于扩散磁共振成像(dMRI)等医学影像技术中的复杂扩散过程建模与反演;②为高维偏微分方程的高效求解提供数据驱动的新范式,提升仿真精度与计算速度;③作为PINNs在AI for Science领域中的典型实践案例,推动物理引导的深度学习方法在实际科研项目中的落地与拓展。; 阅读建议:建议读者结合提供的完整代码资源(可通过公众号“荔枝科研社”或百度网盘获取),动手复现并调试模型,深入理解PINNs的架构设计、损失函数构建与物理约束嵌入机制,同时可尝试将该方法迁移至其他类似物理系统的建模与求解任务中进行创新性研究。
内容概要:本文围绕“基于多VSG独立微网的多目标二次控制MATLAB模型研究”展开,详细阐述了利用Simulink对多虚拟同步发电机(VSG)构成的独立微网系统进行建模与仿真,实现频率调节、电压支撑与有功无功功率均分等多目标协同优化的二次控制策略。研究引入先进的最优控制算法,解决微网在孤岛运行模式下的功率动态分配、频率电压恢复及系统稳定性问题,并通过MATLAB/Simulink平台构建完整仿真模型,验证所提控制策略在不同负载扰动下的有效性、鲁棒性与动态响应性能。; 适合人群:具备电力系统分析、现代控制理论基础以及MATLAB/Simulink仿真能力的电气工程、自动化等相关专业的硕士研究生、科研人员及从事微网控制系统开发的工程技术人才。; 使用场景及目标:① 深入理解多VSG在独立微网中的并联运行机理与协同控制架构;② 掌握基于Simulink的微网二次控制系统的建模方法与仿真流程;③ 实现频率、电压与功率分配的多目标优化控制仿真验证;④ 为微网控制系统的设计、算法优化及科研课题提供可靠的仿真依据和技术参考。; 阅读建议:建议读者结合文中控制策略,动手搭建Simulink模型,重点关注控制器参数整定对系统动态性能的影响,可通过对比不同工况下的仿真结果,进一步优化控制算法以提升系统鲁棒性与响应精度。

70,038

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧