อยากสอบถามพี่ๆ เรื่องการเขียน Code Vision AVR หน่อยค่า
สิงหาคม 18, 2018, 07:30:24 am *
ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน
ส่งอีเมล์ยืนยันการใช้งาน?

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น
   หน้าแรก   ช่วยเหลือ เข้าสู่ระบบ สมัครสมาชิก  
หน้า: [1]   ลงล่าง
  พิมพ์  
ผู้เขียน หัวข้อ: อยากสอบถามพี่ๆ เรื่องการเขียน Code Vision AVR หน่อยค่า  (อ่าน 2899 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
rattana tukalunkul
Newbie
*
ออฟไลน์ ออฟไลน์

กระทู้: 2


| |
« เมื่อ: พฤศจิกายน 18, 2013, 12:08:36 pm »

อยากสอบถามพี่ๆหน่อยอะคะ คือตอนนี้คอมไพล์ผ่านเเล้วอะคะ ที่ให้ ETT USB FLASH DRIVE บันทึกข้อมูลติดต่อกับ MCU เพื่อจะเก็บข้อมูลลงเเฟลชไดรท์ เเต่พอลองเสียบเเฟลชไดรท์ไป มันเกบข้อมูลไม่ได้อะคะ อยากให้พี่ๆช่วยเเนะนำหน่อยอ่าคะ เช็คระหว่าง RS232 กับ PC สามารถใช้งานได้คะ มันน่าจะมีปัญหาที่โปรเเกรมอะคะ 
**********************************************************************************************************************************************************
#include <mega32.h>
#include <stdio.h>
//-----Check Echo Command-----------------------------
void echo()
{
unsigned char k;
do{
scanf("%c",&k);
}while(k!='>');
}
//------Main----------------------------------------
void main(void)
{
unsigned char m,n;
char dat[20]={"Data Loggers"}; //Data 11 Byte
// Declare your local variables here
PORTA=0x00;
DDRA=0x00;
PORTB=0x00;
DDRB=0x00;
PORTC=0x00;
DDRC=0x00;
PORTD=0x00;
DDRD=0x00;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=FFh
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer2 Stopped
// Mode: Normal top=FFh
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=0x00;
MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;
//-------Intitial UART -------
// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud Rate: 9600
UCSRA=0x00;
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x40;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;
// Write data to Flash Drive 520 byte (Extended Model[ECS] and ASCII Mode[IPA])---
printf("\r") ; // Set prompt
echo() ; // Check response '>'
printf("ECS\r") ; // Sent Command 'ECS' - Set Command in Extended Mode
echo() ; // Check Response '>'
printf("IPA\r") ; // Sent Command 'IPA' - Set Number in ACII Mode
echo() ; // Check Response'>'
printf("OPW ett.txt\r"); //Sent Command 'OPW'
echo() ;
printf("SEK 0\r") ; //Determine Position Start=0 in file 'ett.txt'
echo() ;
printf("WRF 520\r") ; //Sent Command 'WRF' - To determine write data number 520 Byte
for(n=0;n<40;n++) //Loop Sent Data 520 Byte
{
for(m=0;m<11;m++)
printf("%c",dat[m]) ; //Start write data to file ett.txt 11 byte
printf("\n") ; //*****Line feed \n=0x0A,0x0D = 2 byte**********
}
echo() ; //Check Respobse '>' - Data written fully 520 Byte
printf("CLF ett.txt\r") ; //Sent command 'CLF' - To close file ett.txt' (End writing)
echo() ;
};
บันทึกการเข้า
ShadowMan
Administrator
Hero Member
*****
ออฟไลน์ ออฟไลน์

เพศ: ชาย
กระทู้: 8272


ShadowWares


| |
« ตอบ #1 เมื่อ: พฤศจิกายน 19, 2013, 06:25:28 pm »

ต้องของออกตัวก่อนว่าผมไม่รู้จักบอร์ดหรือโมดูลที่คุณอ้างถึง แต่พอจะเดาออกว่ามันทำอะไร และมีกระบวนการทำงานอย่างไร
ดูจาก code แบบผ่านๆ อย่างตาลาย เห็นว่าคุณไม่ได้มีการตรวจสอบการตอบสนอง ใดๆ จากอุปกรณ์ที่กำลังพยายามติดต่ออยู่

ยกตัวอย่าง: จะวานคนงานให้ทำงาน ต้องดูก่อนว่าเขาหลับอยู่ ว่างอยู่ หรืออยู่ในสภาพที่พร้อมทำงานให้ได้หรือไม่ หลับหูหลับตาสั่งๆ โดยไม่สนใจผู้รับคำสั่ง มีความเป็นไปได้สูงว่าผลที่ตามมาเหมือนการพูดคนเดียว
บันทึกการเข้า

By SDW: Do No Wrong Is Do Nothing
          If you want to increase your success rate, double your failure rate
rattana tukalunkul
Newbie
*
ออฟไลน์ ออฟไลน์

กระทู้: 2


| |
« ตอบ #2 เมื่อ: พฤศจิกายน 21, 2013, 07:36:16 pm »

ขอบคุนนะคะพี่ที่เเนะนำ ยังไงจะนำไปเเก้ไขเเละปรับปรุงนะคะ ^^
บันทึกการเข้า
Bayaksine
Newbie
*
ออฟไลน์ ออฟไลน์

กระทู้: 2


| |
« ตอบ #3 เมื่อ: มิถุนายน 06, 2018, 05:45:20 pm »

เดี๋ยวจะไปลองหัดเขียนดูบ้าง
บันทึกการเข้า
หน้า: [1]   ขึ้นบน
  พิมพ์  
 
กระโดดไป: