các bác cho em hỏi lập trình avr bằng c thì dùng phần mền nào ạ phần mền nào là tốt nhất
dùng phần mền nào lập trình cho avr tốt nhất?
Collapse
X
-
Các phiên bản codevisionAVR mới gần đây có hiện tượng ko nhận chip trong mạch nạp các loại dù đã xxx mọi cách, có lẽ do nhà sx cố tình làm thế để ép người dùng mua bản quyền, vì thế hiện tại mình lập trình = codevision nhưng nạp code = avrstudio4 là ngon lành, vả lại trong hệ thống thiết lập fusebit của codevision khi mình chọn chip là ATMEGA8 thì ko thấy bit SPIEN, cái bit này cực quan trọng, trong khi đó avrstudio thì có đủ fusebit, cao thủ nào biết vụ này xin giải thích giúp (mình dùng Codevision 2.5.6 để các bác không nói mình dùng bản cũ nên thiếu này nọ).Làm sao mà bạn dám nói là không làm được khi bạn chưa từng thử một lần nào.
Ngay cả khi bạn đã làm 1 lần và thất bại bạn cũng không có quyền nói là không làm được vì bạn chưa làm lần thứ 2,3...
Comment
-
-Mới thì nên học codevison, biết chút đỉ thì chuyển sang AVRstudio với trình biện dịch WinAVR chính hãng luôn,các VD trong hocavr.com đều viết bằng thằng này, nên chiụ khó đọc sẽ rất dễ hiểu...
-Lúc trước mình cũng sài codevision, nhưng làm nhiều cái phức tạp codevison trở thành khó hiểu và khó sửa...
-Codevison dọn sẳng nhiều thứ, nhưng rồi đến một lúc tự nấu tự chế biến thì rất khó khăn..
-còn sài thằng nào là tùy mục đính và khả năng..
Comment
-
mình toàn dùng avrstudio. thư viện cho nó thì rất nhiều trên mạng. mà mình thấy nhiều khai báo trong codevision rối và phức tạp. nhiều cái không cần thiết cũng khai báo ra làm mình mò mỗi khi gặp lỗi rất khó chịu.
Comment
-
mình lâu không còn dùng CV nữa ... nhưng cái này chắc do dùng phần " tự tạo mã " wizard nó mới vậy ... chứ tự viết thì chẳng có gì là thừa cả !Nguyên văn bởi nguyentuanqs Xem bài viếtmình toàn dùng avrstudio. thư viện cho nó thì rất nhiều trên mạng. mà mình thấy nhiều khai báo trong codevision rối và phức tạp. nhiều cái không cần thiết cũng khai báo ra làm mình mò mỗi khi gặp lỗi rất khó chịu.Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com
Comment
-
chuẩn rồi đấy ạ.Nguyên văn bởi queduong Xem bài viếtmình lâu không còn dùng CV nữa ... nhưng cái này chắc do dùng phần " tự tạo mã " wizard nó mới vậy ... chứ tự viết thì chẳng có gì là thừa cả !
Comment
-
A [MENTION=45]queduong[/MENTION] ơi, xem hộ em cái này với ạ. em mò mà chưa nghĩ ra lỗi ở đâu . http://www.dientuvietnam.net/forums/...nh-voi-165156/
Nguyên văn bởi nguyentuanqs Xem bài viếtmình đang làm đề tài có liên quan đến tách dữ liệu ( giao thức NMEA trong thông tin vệ tinh sử dụng SIM các bạn nhé). đoạn mã có dạng : $GPGGA,002153.000,3342.6618,N,11751.3858,W,1,10,1. 2,27.0,M,34.2,M,,000 *5E. được truyền liên tiếp qua uart vào vi điều khiển. các đoạn mã có nội dung tương tự cũng được truyền tiếp theo. ví dụ thông tin truyền vào có thể có dạng :....$GPGGA,002153.000,3342.6618,N,11751.3858,W,1, 10,1.2,27.0,M,34.2,M,,000 *5E$GPGGA,5467.000,4578.6618,N,11751.5426,W,2,10,2 .2,12.0,M,376.2,M,,040 *5E.... dạng như vậy. trong đó đoạn đầu có thể thay đổi tùy thuộc vào định dạng dữ liệu. như với đoạn code trên $GPGGA cho biết thông tin sau nó gồm có thời gian, kinh độ, vĩ độ, khoảng cách so với mực nước biển. giờ mình đang loay hoay với thuật toán tách dữ liệu ra. ví như trong dòng dữ liệu vào ta phải bắt được chuỗi có mào đầu là $GPGGA rồi sau đó lại tách ra các dữ liệu đã nói trên. ($GPGGA(mào đầu),002153.000(thời gian),3342.6618,N(vĩ độ),11751.3858,W(kinh độ),1,10,1.2,27.0,M,34.2,M,,000 *5E. dữ liệu tách ra cần cho lưu vào một biến riêng và được truyền đi vào máy tính như sau. pro nào chỉ giáo giúp mình nhé. mình có tham khảo đoạn code sau sử dụng trong 1 ngắt uart nhưng khi viết thì không thực hiện đươc. nếu ai biết sai chỗ nào thì chỉ mình luôn với nhé.
thank mọi người đã đọc!Code:ISR (SIG_USART1_RECV) { data = UDR1; putChar_LCD(data); Uart0_Trans(data); Process_Data(data); } // ham xu ly du lieu ngat void Process_Data(char data) { stt = 0; switch(stt){ case 1: if(data!='$') stt=0; break; case 2: if(data!='G') stt=0; break; case 3: if(data!='P') stt=0; break; case 4: if(data!='G') stt=0; break; case 5: if(data!='G') stt=0; break; case 6: if(data!='A') stt=0; break; case 7: if(data!=',') stt=0; break; //--------tach phan thoi gian------------ case 8: if(data<'0' || data>'9') stt=0; else time[0]=data; break; case 9: if(data<'0' || data>'9') stt=0; else time[1]=data; break; case 10: if(data<'0' || data>'9') stt=0; else time[2]=data; break; case 11: if(data<'0' || data>'9') stt=0; else time[3]=data; break; case 12: if(data<'0' || data>'9') stt=0; else time[4]=data; break; case 13: if(data<'0' || data>'9') stt=0; else time[5]=data; break; case 14: if(data!='.') stt=0; else time[6]=data; break; case 15: if(data<'0' || data>'9') stt=0; else time[7]=data; break; case 16: if(data<'0' || data>'9') stt=0; else time[8]=data; break; case 17: if(data<'0' || data>'9') stt=0; else time[9]=data; break; case 18: if(data!=',') stt=0; break; //----------tach phan vi do----------------- case 19: if(data<'0' || data>'9') stt=0; else vido[0]=data; break; case 20: if(data<'0' || data>'9') stt=0; else vido[1]=data; break; case 21: if(data<'0' || data>'9') stt=0; else vido[2]=data; break; case 22: if(data<'0' || data>'9') stt=0; else vido[3]=data; break; case 23: if(data!='.') stt=0; else vido[4]=data; break; case 24: if(data<'0' || data>'9') stt=0; else vido[5]=data; break; case 25: if(data<'0' || data>'9') stt=0; else vido[6]=data; break; case 26: if(data<0 || data>9) stt=0; else vido[7]=data; break; case 27: if(data<0 || data>9) stt=0; else vido[8]=data; break; case 28: if(data!=',') stt=0; else vido[9]=data; break; case 29: if(data!='N' || data!='S') stt=0; else vido[10]=data; break; case 30: if(data!=',') stt=0; break; //----------tach phan kinh do------------------ case 31: if(data<0 || data>9) stt=0; else kinhdo[0]=data; break; case 32: if(data<0 || data>9) stt=0; else kinhdo[1]=data; break; case 33: if(data<0 || data>9) stt=0; else kinhdo[2]=data; break; case 34: if(data<0 || data>9) stt=0; else kinhdo[3]=data; break; case 35: if(data<0 || data>9)stt=0; else kinhdo[4]=data; break; case 36: if(data!='.') stt=0; else kinhdo[5]=data; break; case 37: if(data<0 || data>9) stt=0; else kinhdo[6]=data; break; case 38: if(data<0 || data>9) stt=0; else kinhdo[7]=data; break; case 39: if(data<0 || data>9) stt=0; else kinhdo[8]=data; break; case 40: if(data<0 || data>9) stt=0; else kinhdo[9]=data; break; case 41: if(data!=',') stt=0; else kinhdo[10]=data; break; case 42: if(data!='E' || data!='W') stt=0; else kinhdo[12]=data; break; case 43: if(data!=',') stt=0; break; default : stt=0; break; } }


Comment
-
mình dùng IAR , CodeVision , AVRstudio+ GCC , mikroC nhưng chẳng thấy cái gì khác biệt hơn thằng mikroC ... thế là mình toàn dùng mikroC ... nhưng nạp thì dùng STK500 sử dụng với AVR studio ( vì bản thân thằng AVR studio set cấu hình ( Fuse) dễ mà chuẩn ! ), những thằng khác loằng ngoằng, khó chịu ( có khi còn vớ vẩn nữa) !Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com
Comment
-
theo mình bạn nên dùng 1 buffer ( mảng ) đủ chiều dài để lưu trữ bản tin ... rồi xử lý ... là cách đơn giản và dễ dàng nhất !Nguyên văn bởi nguyentuanqs Xem bài viếtA @queduong ơi, xem hộ em cái này với ạ. em mò mà chưa nghĩ ra lỗi ở đâu . http://www.dientuvietnam.net/forums/...nh-voi-165156/
cách đọc cả bản tin ... thì kiểm tra " lúc nào bắt được kí tự " bắt đầu $" thì ( for i = .... đến ...max)... sau khi bản tin đã được lưu vào bộ đệm xong, thì lấy dữ liệu từ bộ đệm ra khai thác thôi ! Khai thác xong lại tiếp tục đọc lượt mới !Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com
Comment
-
dự án của bạn Tra theo mã, xem datasheet và đặt hàng trực tuyến. MicrochipROHMEpsonTaejin
Đặt hàng & tư vấn
Hà Nội024.3640 8561
TP.HCM028.3811 9870
Quét mã hoặc bấm để chat Zalo với R&PChat Zalo
Quét mã hoặc bấm để chat Zalo với R&PChat Zalo
Bài viết mới nhất
Collapse
-
Trả lời cho Tìm bạn thân quen cũ.bởi thuaimiVẫn nhớ và kính trọng Bác cũng các cao nhân trên dientuvietnam.net. Tính từ ngày tham gia trên này cũng đã hơn 20 năm rồi. Quá nhiều thay đổi cả trong công việc và cuộc sống. Nhưng được thấy lại các nick cũ vẫn sáng đèn là thấy vui rồi....-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 16:33 -
-
Trả lời cho Tìm bạn thân quen cũ.bởi nhathung1101Còn sống không lão??? Mất một thời gian chữa bệnh nên quên hỏi thăm.......
-
Channel: Tâm tình dân kỹ thuật
25-10-2026, 03:09 -
-
Trả lời cho Công suất truyền qua lõi máy biến ápbởi nhathung1101Thời buổi năng lượng xanh, nhất là xanh cả mặt... Thì Điện mặt giời, điện gió, sẽ lên ngôi.
Nếu không nắm bắt được cái cơ bản đó thì đi làm coder à? Mà coder giờ thất nghiệp cả lũ vì AI rồi!!!









...
-
Channel: Điện tử công suất
25-10-2026, 03:03 -
-
Trả lời cho Công suất truyền qua lõi máy biến ápbởi quangdonguehChà, lâu lắm rồi nhưng diễn đàn vẫn còn những chủ đề cốt lõi của điện tử công suất...-
Channel: Điện tử công suất
24-10-2026, 07:53 -
-
bởi bqvietNếu muốn tăng công suất cần tăng con chip và tăng biến áp lên lớn hơn. Thiết kế ban đầu dùng TNY25x và biến áp EE16 hoặc EE13. Tăng con chip lên TNY268 vẫn mạch nguyên lý đó và biến áp lên EE19 sẽ nâng công suất ra thêm nhiều. Tăng tối đa...-
Channel: Điện tử công suất
24-10-2026, 02:14 -
-
bởi Nexus 6PMạch này chỉ chạy cho LED 10W trở xuống, còn muốn chạy Led công suất cao thì sao bác thớt ơi?-
Channel: Điện tử công suất
22-10-2026, 14:33 -
-
bởi Nexus 6PMạch này chỉ chạy cho LED 10W trở xuống, còn muốn chạy Led công suất cao thì sao bác thớt ơi?-
Channel: Điện tử công suất
22-10-2026, 10:49 -
-
Trả lời cho Tìm VR 5 chânbởi dinhthuong80Cảm ơn bác bqviet . Nhưng hình như các VR 5 chân của linhkienchatluong là loại có 2 chân là công tắc đóng mở. Thấy trên Shopee có chỗ bán linh kiện đàn Organ, mà không biết đúng loại không, với lại sao ... mắc dữ dội luôn ấy!!!
...-
Channel: Hướng dẫn tìm thông tin linh kiện
19-10-2026, 11:30 -
-
Trả lời cho Tìm VR 5 chânbởi bqvietTrang sản phẩm này có loại 5 chân và 8 chân
https://linhkienchatluong.vn/chiet-a...doi_s1595.aspx
Ngoài ra một trang cùng cấp với nó có loại 6 chân nữa, chắc đủ cho người muốn tìm....-
Channel: Hướng dẫn tìm thông tin linh kiện
17-10-2026, 17:19 -
mình làm cũng lâu rồi...mình dùng bản 2.3.4 dùng bản cr.ack thôi...có thể search trên mạng được...
Comment