e đang tập tành AVR ạ. e viết đến giao tiếp SPI thì gặp nhiều lỗi mô phỏng quá. các bác giúp e với.
Thông báo
Collapse
No announcement yet.
nhờ giúp đỡ về giao tiếp SPI
Collapse
X
-
Nguyên văn bởi quang_le_pt Xem bài viếtCác bác cho hỏi e tìm thấy cái thư viện spi.h trong codevision mà không biết dùng thế nào .bác nào có thể chỉ cho e với ạ
Giải pháp điện tử của bạn
Comment
-
Việc truyền dữ liệu SPI thường do người lập trình chủ động, còn việc nhận thì bạn có thể dùng ngắt hoặc không. Ở trên bạn nguyentuanqs đã đưa 1 code tham khảo spi khi viết bằng avrstudio bạn coppy nguyên sang codevision là chạy. Chỉ chú ý khi viết cho slave thì chương trình ngắt phải là
// SPI interrupt service routine
interrupt [SPI_STC] void spi_isr(void)
{
unsigned char data;
data=SPDR;
// Place your code here
}
Giải pháp điện tử của bạn
Comment
-
đây là code của bạn trên
master
//chuong trinh master spi dung atmega8
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include <string.h>
#define spi_port PORTB
#define spi_ddr DDRB
#define ss 4
#define mosi 5
#define miso 6
#define sck 7
char data[] = "nguyen minh tuan";
void init_spi (void)
{
spi_ddr = (1<<ss)|(1<<mosi)|(1<<sck);
//spi_port= (1<<miso);
SPCR = (1<<SPIE)|(1<<SPE)|(1<<MSTR)|(1<<CPHA)|(1<<SPR1)|( 1<<SPR0);
}
void transmit (void)
{
int i;
for (i=1;i<=strlen(data);i++)
{
SPDR = data[i];
_delay_ms(100);
while (bit_is_clear (SPSR,SPIF))
{};
_delay_ms (100);
};
}
int main ()
{
init_spi();
transmit();
while (1)
{};
return 0;
}
slave
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include "myLCD.h"
#include <string.h>
#define spi_port PORTB
#define spi_ddr DDRB
#define ss 4
#define mosi 5
#define miso 6
#define sck 7
void init_spi (void)
{
//spi_ddr = (1<<miso);
spi_port= (1<<mosi)|(1<<ss)|(1<<sck);
SPCR = (1<<SPIE)|(1<<SPE)|(1<<DORD)|(1<<CPHA)|(1<<SPR1);
}
void hienthi(void)
{
char a;
while(bit_is_clear(SPSR,SPIF))
{
a = SPDR;
putChar_LCD (a);
}
}
int main ()
{
init_LCD();
home_LCD();
init_spi();
while (1)
{};
}
ISR (SPI_STC_vect)
{
hienthi();
_delay_ms(100);
}
thanks
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi mèomướpDạ chú chủ thớt có thời gian và đam mê thì cứ từ từ ngâm cứu đi ạ đừng nghe chú Chú bq... dọa mà sợ ạ. Cái nguồn nhìn cũng lởm có khi hông bằng cái máy hàn tàu của chị hàng xóm hôm nọ tháo ra sửa với chú thợ thông ống nước suốt đêm mới xong. Chú ý an toàn xíu là được ạ...
-
Channel: Điện tử công suất
hôm nay, 15:40 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi bqvietBộ nguồn xung ở tầm công suất 2700W này, gần 3 ký, không bao giờ đơn giản để mà sửa ngay cả đối với người có kinh nghiệm chứ đừng nói người không chuyên. Đám linh kiện công suất không tự nhiên cháy mà phải xuất phát từ nguyên nhân...
-
Channel: Điện tử công suất
Hôm qua, 22:09 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi mèomướpDạ chú kiểm tra đi ốt đầu vào, ra nữa ạ. Về phần kiểm tra dao động chú hỏi chị google ấy ạ, có nhìu cô chú đã hướng dẫn rồi ạ...
-
Channel: Điện tử công suất
Hôm qua, 16:53 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi Minhdai95mình đã kiểm tra phần công suất thấy hỏng cả 4 con IGBT mà mình muốn kiểm tra phần dao động và hồi tiếp khi chưa cấp điện cho mạch thì có cách nào không b, mình không phải dân trong nghề lên chưa có kinh nghiệm sửa. Cảm ơn b
-
Channel: Điện tử công suất
Hôm qua, 14:27 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi mèomướpDạ chú nhắm phần công suất dễ kiểm tra và hay hư hỏng nhất trước ạ. Rồi đến phần dao động nguồn, hồi tiếp...
-
Channel: Điện tử công suất
Hôm qua, 11:42 -
-
bởi Minhdai95mọi người đã ai sửa bộ nguồn này chưa ạ, cho e xin ít kinh nghiệm để sửa bộ nguồn. Em cảm ơn...
-
Channel: Điện tử công suất
Hôm qua, 11:22 -
-
Trả lời cho Thắc mắc về hạ áp cho adapter laptopbởi nhathung1101
-
Channel: Điện tử dành cho người mới bắt đầu
31-12-2024, 17:39 -
-
Comment on Thắc mắc về hạ áp cho adapter laptopbởi nguyendinhvan
-
Channel: Điện tử dành cho người mới bắt đầu
29-12-2024, 23:20 -
-
Trả lời cho Thắc mắc về hạ áp cho adapter laptopbởi nguyendinhvanPhải làm đúng quy chình thì mới được
Bươc 1 lấy cái nguồn điều chỉnh, set về đúng 12v, cấp cho đường out 19v như hình. Chú ý là phần đầu vào adaptor không cấp điện.
Bước 2 . Kiểm tra điện áp tại chân số 3 das001 có đúng...-
Channel: Điện tử dành cho người mới bắt đầu
29-12-2024, 23:20 -
-
Trả lời cho Thắc mắc về hạ áp cho adapter laptopbởi LamVoNhấp nháy có thể do chu kỳ hoạt động bị rút ngắn quá dẫn đến không đủ nguồn nuôi ic, bác thử tăng giá trị tụ nguồn phụ nuôi ic và giảm giá trị điện trở hạn dòng cho nó xem có cải thiện không....
-
Channel: Điện tử dành cho người mới bắt đầu
29-12-2024, 08:45 -
Comment