Saya ingin tahu apakah ada cara untuk memanggil fungsi yang terdapat dalam file C menggunakan sketsa Arduino?
File C saya mendeklarasikan dan mendefinisikan suatu fungsi. Untuk menyimpan menempatkan definisi fungsi yang berantakan ke dalam sketsa Arduino saya, saya ingin memanggil fungsi langsung dari sketsa.
Apakah ada cara standar untuk melakukan ini menggunakan Arduino dan C? Ini sketsanya:
#include "crc16.h";
void setup(){
}
void loop(){
CalculateCRC16("<09M", 4);
}
dan ini adalah file C yang dipangkas:
#include <stdio.h>
#include <stdint.h>
uint16_t crctable[256] =
{
0x0000, 0x1189,.....
uint16_t // Returns Calculated CRC value
CalculateCRC16( // Call example CalculateCRC16("<09M", 4);
const void *c_ptr, // Pointer to byte array to perform CRC on
size_t len) // Number of bytes to CRC
{
uint16_t crc = 0xFFFF // Seed for CRC calculation
const uint8_t *c = c_ptr;
while (len--)
crc = (crc << 8) ^ crctable[((crc >> 8) ^ *c++)];
return crc;
}
const void *c_ptr
dan const uint8_t *c = c_ptr;
. Pesan kesalahan menyebutkan konversi yang tidak valid antara jenis.
In function uint16_t CalculateCRC16(uint16_t, const void*, size_t)': 46 invalid conversion from
const void * 'toconst uint8_t*' In function int main()': 57 system' undeclared (first use this function) (Each undeclared identifier is reported only once for each function it appears in.)