আমি জানতে চাই যে আরডুইনো স্কেচ ব্যবহার করে সি ফাইলের মধ্যে থাকা ফাংশনগুলিকে কল করার কোনও উপায় আছে কিনা?
আমার সি ফাইল একটি ফাংশন ঘোষণা করে এবং সংজ্ঞায়িত করে। আমার আরডিনো স্কেচে অগোছালো ফাংশন সংজ্ঞাটি সংরক্ষণ করতে, আমি স্কেচ থেকে সরাসরি ফাংশনটি কল করতে চাই।
আরডুইনো এবং সি ব্যবহার করে এটি করার কোনও মানক উপায় নেই? স্কেচটি এখানে:
#include "crc16.h";
void setup(){
}
void loop(){
CalculateCRC16("<09M", 4);
}
এবং এটি ট্রিমড ডাউন সি ফাইল:
#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
এবং const uint8_t *c = c_ptr;
। ত্রুটি বার্তা প্রকারের মধ্যে একটি অবৈধ রূপান্তর উল্লেখ করে।
In function uint16_t CalculateCRC16(uint16_t, const void*, size_t)': 46 invalid conversion from
থেকে const অকার্যকর * 'const 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.)