
#include<stdio.h>
void main()
{
int N, i, j
int *elements
int **diffTriangle
printf("Please input N:")
scanf("%d", &N)
/枣姿/ 动态申请一维数据内存来存储输入数据
elements = (int*)malloc(N*sizeof(int))
// 动态申请二维数据内存来存储间差数据
diffTriangle = (int**)malloc((N - 1)*sizeof(int*))
for (i = 0i <N - 1i++)
diffTriangle[i] = (int*)malloc((N - 1)*sizeof(int))
// 输入数据
printf("Please input %d numbers:", N)
for (i = 0i <Ni++)
scanf("%d", &elements[i])
// 计算间差
for (i = 0i <N - 1i++)
for (j = 0j <= ij++)
diffTriangle[i][j] = elements[i+1] - elements[i-j]
// 输出
for (i = 0i <N - 1i++)
{
for (j = 0j <= ij++)
printf("%d\t", diffTriangle[i][j])
printf("\n")
}
/凯宏/ 清空内存凳孙绝
free(elements)
for (i = 0i <N - 1i++)
free(diffTriangle[i])
free(diffTriangle)
}
不知道好了没有,我用12c5a60s2,控制没有问题!我敬指调试的过程中,I2C的控制调试的时间较长,
1、一个可能是硬件冲突(IIc线是否接有其他设备,有时会产生干扰。)
2、IIC读取的速度过快。余稿宏
3、IIC的时序有问题。
你可以先调试IIC口,用示波器竖册看看!
程序太长,下面是我的写8563控制寄存器的命令子程序摘抄:
PUBLIC bool_t bRtContrl2Write(uint8 u8TimeReg)
{
vI2CInit()
vI2CStart()
if(!bI2CSendByte(PCF8563_ADDRESS_WRITE))
{
vDebug("PCF8563_ADDRESS_WRITE wrong. \n\r")
}
if(!bI2CSendByte((PCF8563_CONTROL2_ADDRESS)))
{
vDebug("PCF8563_SECOND_ADDRESS wrong. \n\r")
}
bTemp = bI2CSendByte(u8TimeReg)
vI2CStop()
return TRUE
}
实时时钟是一种计时器,就像一只正常行走的钟表。在电子技术中,实时时钟可以由一片硬件集成电路来伍姿完成,也可以由单片机+程序来完成。PCF8563是飞利浦公司出品的一款低功耗CMOS 实时时钟/日历芯片,8只引租厅脚。给PCF8563连接一只频率为32768Hz的石英晶振和电源后,它能对年、月、日弊橘隐、时、分、秒进行准确的计时。时钟信息通过I2C 总线接口读取。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)