Recent Posts

Pages: 1 [2] 3 4 ... 10
13


ดาวน์โหลดฟรี : https://goo.gl/Sr74nG
14
มันมีให้กดซื้ออ่ะครับ ตรงadd energy
15
ผมทดลองติดตั้ง App  Blynk เพื่อควบคุม ESP8266 Node MCU V3 ผ่าน Smart Phone พอสร้างปุ่มหรือ widget เพิ่มหลายๆ Widget  ค่าพลังงานที่ Appให้มาไม่พอแล้วครับ พอดีจะต่อ Sensor และสร้างปุ่มกดเพิ่ม ไม่ทราบสมารถเพิ่มค่า Energy ได้อย่างไรครับ   รบกวนสอบถามพี่ๆ หน่อยครับ 
16
AVR and Arduino / Pointer to array of pointer
« Last post by firmware.c on June 14, 2018, 09:18:52 pm »
ห่างหายจากการ post ลงเว็บบอร์ดไปซะนาน พอดีวันนี้ผมมีงานที่จำเป็นจะต้องใช้ Pointer to array of pointer ซึ่งตอนแรกก็ไม่คิดว่าจะต้องใช้มัน เลยอยากเอามาแชร์เผื่อมีใครจำเป็นต้องนำไปใช้หรือนึกไม่ออกว่าทำไมต้องใช้มัน

ตามปกติโดยทั่งไปแล้วหากเราต้องการอ่านค่าจาก array of pointer ก็สามารถทำได้ง่ายๆจาก code ด้านล่าง

Code: [Select]
const unsigned char *pTable1[] = {
&data4,
&data3,
&data2,
&data1,
};
const unsigned char *pTable2[] = {
&data10,
&data9,
&data8,
&data7,
&data6,
&data5,
};

TestRead = *pTable1[0];

TestRead = *pTable2[0];

แต่ปัญหาของผมก็คือผมจำเป็นที่จะต้องทำให้ code ในการอ่านค่าจาก array of pointer ของ pTable1 และ pTable2 นั้น common กันโดยเลือกจากตัวแปรว่าจะอ่านค่าจาก pTable1 หรือ pTable2

พยายามอยู่นานจึงนึกออกขึ้นว่าน่าจะต้องใช้ Pointer to array of pointer ซึง code สำหรับทดสอบก็ตามด้านล่างครับ

Code: [Select]
// Test pointer to array of pointer by firmware.c

#include <avr/io.h>

unsigned char data1 = 1;
unsigned char data2 = 2;
unsigned char data3 = 3;
unsigned char data4 = 4;

unsigned char data5 = 5;
unsigned char data6 = 6;
unsigned char data7 = 7;
unsigned char data8 = 8;
unsigned char data9 = 9;
unsigned char data10 = 10;

const unsigned char *pTable1[] = {
&data4,
&data3,
&data2,
&data1,
};
const unsigned char *pTable2[] = {
&data10,
&data9,
&data8,
&data7,
&data6,
&data5,
};
unsigned char SelectTable;
unsigned char TestRead;
unsigned char ReadCount;

unsigned char **LpSelectTable; // pointer to array of pointer
unsigned char Counter;

int main(void)
{


    while(1)
    {
if (SelectTable == 0) {
LpSelectTable = (unsigned char **)&pTable1;
ReadCount = sizeof(pTable1)/sizeof(pTable1[0]);
} else {
LpSelectTable = (unsigned char **)&pTable2;
ReadCount = sizeof(pTable2)/sizeof(pTable2[0]);
}

                // common code area to read array of pointer pTable1 or pTable2
Counter = 0;
do {
TestRead = **(LpSelectTable+Counter);
PORTB = TestRead;
} while (++Counter < ReadCount);
    }
}
17
Raspberry Pi 3 Model B 

ใช้งานน้อยมาก สถาพดี ใช้แค่ทำวิชาโปรเจ็คตอนเรียนค่ะ ราคา 1,000 บาท ส่งให้ฟรี
แอดไลน์มาดูของก่อน ID : nk23l (หลัง23คือตัว L เล็กนะคะ)

ต้องการขายเพราะว่าเปลี่ยนสาขาเรียนแล้วไม่ได้ใช้ หาเงินไปซื้ออุปกรณ์เรียนใหม่ค่ะ
19
แจ๋วเลยครับ ถามความรู้เพิ่มเติมครับ ถ้าเป็นเวลาประเทศอื่นทำยังไงหรอครับ

บวก UTC time เข้าไปครับ
20
ขายยังครับ
Pages: 1 [2] 3 4 ... 10