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 - az

#17
ถ้าใช้ 8 bits length + no_par + 1_stop แต่ลดค่า BaudRate เป็น 9600 ผลลัพธ์เป็นอย่างไรบ้างครับ
#18
Quote from: JAY on March 16, 2017, 07:20:38 PM
Quote from: az on March 16, 2017, 07:14:18 PM
PWM ที่ต้องการใช้งานมีทั้งหมด กี่ค่าครับ หรือใช้ทั้งช่วง 0..255
ต้องการใช้ทั้งช่วง 0 ถึง 255 เลยครับ

Quote from: crywolf on March 16, 2017, 04:25:20 PM
น่าจะประมาณนี้

int PWMValue;

void loop()
{
  fuzzy->setInput(1,Error);
  fuzzy->setInput(2,dError);         

  fuzzy->fuzzify();

  Duty = fuzzy->defuzzify(1);
/*
  DutyPrevious = DutyNow;       
  DutyNow = Duty;
  PWMValue = DutyPrevious + DutyNow;   
*/
if((PWMValue+Duty)>=0)&&((PWMValue+Duty)<=255)
{
PWMValue += Duty;
}

  analogWrite(PWMPin, PWMValue);
  delay(1000);
}



ตามท่าน crywolf เลยครับ

ปล. ตรวจสอบประเภทตัวแปลต้วยนะครับ ว่าเป็น unsigned หรือ signed


int PWMValue;  // -32,768 to 32,767
int Duty;  // -32,768 to 32,767

.
.
.

if ( (PWMValue+Duty) > 255 )  {
  PWMValue = 255;
}
else if ( ((PWMValue+Duty)>=0) && ((PWMValue+Duty)<=255) )  {
  PWMValue += Duty;
}
else {
  PWMValue = 0;
}


#19
PWM ที่ต้องการใช้งานมีทั้งหมด กี่ค่าครับ หรือใช้ทั้งช่วง 0..255
#20
7 bit data + no parity bit + 1 stop bit  หรือ
8 bit data + no parity bit + 1 stop bit

ตรวจสอบ config ก่อนครับ  แล้วลองจับสัญญาณ usart time frame ดูครับ
#21
ชิป EEPROM มีปัญหารึป่าว

ได้ลอง I2C กับ Device อื่นๆ แล้วหรือไม่
#22
Quote from: TaoTao on February 27, 2017, 01:40:27 PM
เดี๋ยว กะว่า จะลองมั่ว
Config ทีละ Bit ของ I2C->CR1, I2C->CR2 เลย
งานนี้ ถนัด
;D

เพราะ ตอนนี้ Clock ของ I2C หลับปุ๋ยเลย  :-[
อาจมีบางบิต ทำให้ Clock ถูกปล่อยออกมา

เปิด datasheet อ้างอิงดีกว่าครับ ชัวร์สุดแล้ว
#23
ขอเดาว่าน่าจะติด loop while

ลองใช้ LED On/Off ดูครับว่าปัญหาอยู่ตรงไหน


led on
while (condition) {

}
led off


ถ้า led ยังคงสถานะ on แสดงว่าติด loop
จากนั้น ลองไล่ led off ใน loop อีกครั้งเพื่อตรวจสอบ

ปล. ตรวจสอบ hw ว่าถูกต้อง
#24
Quote from: TaoTao on February 19, 2017, 01:18:05 AM

หุๆ ลองมั่วดูแว้ววว
อย่างกะ สโคปเลย
:o

อ่อ แล้วใช้ อาเรย์
เก็บค่า CNT แหล่มแมวเลยครับ

ขอบคุณมากมาย คร๊าบบบ
8)
_/\_

ในกรณีที่ไม่ได้กำหนด interrupt priority สามารถนำวิธีนี้ไปประยุกต์เพื่อตรวจสอบลำดับการเกิดเหตุการณ์ก่อนและหลังได้ด้วย เพื่อป้องกันการเกิด interrupt ที่ผิดปกติ ซึ่งจะทำให้การงานเกิดความผิดพลาดได้