Main Menu
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - mr.mai

#1
ได้ลองพิจารณาในเรื่องความไม่เป็น atomic ของตัวแปรหรือยังครับ
เนื่องจาก MCU เป็น 8-bit การเข้าถึงตัวแปร 16-bit จึงไม่สามารถทำให้เสร็จได้ในคำสั่งเดียว
Interrupt อาจเกิดขึ้นในระหว่างกำลังเข้าถึงตัวแปร 16-bit ทำให้ค่าในตัวแปร 16-bit นั้น ไม่เป็นไปอย่างที่ควรจะเป็น :)
#2


ได้ Revert to MPLAB mode หรือยังครับ ถ้ายัง
ให้ Revert to MPLAB mode ตามในรูปครับ
เสร็จแล้วลองเปิดด้วย MPLAB X IPE ดูครับ น่าจะได้
#3
Si501 เป็น single frequency ขา 1 ทำหน้าที่เป็น OE เท่านั้น
#4
ผมรู้สึกคุ้น ๆ กับ PCB แผ่นนี้ของคุณมากเลย เหมือนเคยเห็นที่ไหนมาก่อน
ไม่ทราบว่า คุณเป็นคนออกแบบ PCB แผ่นนี้เองหรือป่าวครับ
ผมขอดู schematic ของมันหน่อยจะได้ไหม



เพิ่มเติมครั้งที่ 1 :
ถ้าคุณเป็นคนออกแบบ PCB แผ่นนี้จริง ช่วยอธิบายหน่อยได้ไหมครับว่า มันเป็น PCB อะไร เอาไว้ใช้ทำอะไร
มันทำงานอย่างไร และถ้าคุณยังยืนยันว่าคุณเป็นคนออกแบบ PCB แผ่นนี้จริง ๆ ผมก็คงต้องขอบอกว่า
มันช่างบังเอิญมาก ๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆ ที่มาเหมือนกับ PCB ที่ผมเคยออกแบบไว้
ถ้าหากเป็นเช่นนั้นจริง ๆ ผมก็คงต้องขออภัย
#5
http://www.youtube.com/watch?v=3WNJG-ji1gk

เพลง country เก่า เอามา cover ใหม่ ก็น่าฟังนะครับ
#6
ARM Processors / Re: stm32 mp3
July 23, 2014, 01:16:13 AM
ในภาษา C keyword static เมื่อใช้กับ function
จะทำให้ function มี scope อยู่ในไฟล์โมดูลที่มันอยู่เท่านั้น
คือโมดูลที่มันอยู่เท่านั้นจึงจะเห็นและเรียกใช้งานมันได้
ดังนั้นจึงไม่สามารถ extern function ที่เป็น static ไปให้กับไฟล์โมดูลอื่นเห็นได้
นั้นหมายความว่าในแต่ละไฟล์โมดูล อาจจะมี static function ที่มีชื่อซ้ำกันได้
หรืออาจจะไปซ้ำกับชื่อ function ธรรมดาที่ไม่ใช่ static ของโมดูลอื่นก็ได้
โดยที่ compiler จะไม่สับสนเวลาเรียกใช้ เพราะมันจะพิจารณาจาก scope ที่เล็กกว่าก่อนเสมอ

เสริมนิด : อันที่จริง linkage ของ function นั้นเป็น extern โดยปริยายอยู่แล้ว
ดังนั้นตอน extern function ไปยังไฟล์โมดูลอื่นจะใช้ keyword extern หรือไม่ก็ได้
#7
char Buff[]="ACDCA732";
unsigned char hexbyte[4];
int i;
for(i=0;i<4;i++)
{
   hexbyte[ i ]=((Buff[i*2]>'9'?Buff[i*2]-55:Buff[i*2]-48)*16)+(Buff[i*2+1]>'9'?Buff[i*2+1]-55:Buff[i*2+1]- 48);
}