คำสั่งในโปรแกรมนี้มีหลักการทำงานอย่างไรครับ

  • 2 Replies
  • 1948 Views
*

Offline top

  • **
  • 47
    • View Profile
 โปรแกรมตัวอย่างครับ

void LCD_WriteReg(uint8_t LCD_Reg, uint16_t LCD_RegValue)
{
  /* Write 16-bit Index, then Write Reg */
  LCD->LCD_REG = LCD_Reg;
  /* Write 16-bit Reg */
  LCD->LCD_RAM = LCD_RegValue;
}
//......................................................................//

คำสั่งในโปรแกรมนี้มีหลักการทำงานอย่างไรครับ

1. LCD->LCD_REG = LCD_Reg;  // คำสั่ง  -> 
2. GPIOE->ODR = c;
3. val = GPIOE->IDR;

  ผมไม่เข้าใจถึงการทำงานมันครับ
คำสั่ง  ->   ไม่เคยใช้
ขอคำแนะนำด้วยครับ

ขอบคุณมากครับ



*

Offline pa_ul

  • ***
  • 247
    • View Profile
-> ไม่ใช่คำสั่ง แต่เป็นการเรียกใช้ pointer to structure

"LCD->LCD_REG = LCD_Reg"

LCD เป็น pointer to structure
LCD_REG เป็น element ของ structure

ถ้าเข้าใจการใช้ pointer ทั่วๆไป (ตัวอย่างเช่น unsigned char * ptr) ก็จะเข้าใจ pointer to structure ได้ไม่ยาก

*

Offline top

  • **
  • 47
    • View Profile
    :)ขอขอบคุณมากครับ สำหรับคำแนะนำด๊ๆ :D
ขอบคุณครับ