【发布时间】:2020-09-27 19:29:16
【问题描述】:
目前,我有一些 Arduino 代码让我发疯,我希望你能提供帮助。 我想要做的是初始化一个指向两个无符号整数数组之一的指针。 每次传递都会读取一个开关并相应地分配指针,只有编译器对分配有一个杂乱无章的配合。
unsigned int spl_add_tbl[4096]; // arrary table no zero crossing points.
unsigned int zxd_add_tbl[4096]; // array table for zero crossing points.
unsigned int *tbl_ptr; // init table pointer
// ZXD switch D64. H = off, L = on.
if (digitalRead(64) == 1) {
// Zero Crossing off, assign Table Pointer to sample table
*tbl_ptr = &spl_add_tbl[0];
} else {
// Zero Crossing on, assign Table pointer to Zero Crossing Table and set A/D read mapping.
*tbl_ptr = &zxd_add_tbl[0];
}
编译器给出错误:从'unsigned int*'到'unsigned int'的无效转换[-fpermissive]
【问题讨论】:
-
tbl_ptr是指向unsigned int的指针。*tbl_ptr是unsigned int。不要将指向unsigned int的指针分配给unsigned int。 -
干杯埃里克,但我不确定我是否完全理解。