[問題] 8051與MAX3100 SPI控制
各位版上先進好
小弟現在使用STC12C5A60S2的晶片
想透過SPI的方式寫入資料到MAX3100
並且透過UART的方式傳回給電腦看
也就是 8051→MAX3100→MAX3100的TX接PC的RX→透過TERMINAL看資料
可是TERMINAL都收不到資料
以下是程式碼
麻煩看一下是哪裡有錯呢?
#include "STC12C5A60S2.h"
sbit SCLK = P1^7;
sbit MISO = P1^6;
sbit MOSI = P1^5;
sbit SPISS = P0^0;
#define MASTER
void spi(unsigned int dat );
void MAX3100init(unsigned int dat);
void main()
{
MAX3100init(0xc08b); //irda模式 9600bit/s 振盪器3.6864MHZ
while(1)
{
spi(0x8080); //發送資料到TX端
} }
void MAX3100init(unsigned int dat)
{
spi(dat);
}
void spi(unsigned int dat)
{ unsigned char i = 0;
unsigned int k;
k=dat;
SPISS=0; //選擇從機
for(i=0;i<16;i++)
{
SCLK=0;
if(k & 0x8000)
{
MOSI=1 ;
}
else
{
MOSI=0;
}
SCLK=1;
k=k<<1;
}
SPISS=1;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.125.20.234
※ 文章網址: https://www.ptt.cc/bbs/ASM/M.1422705010.A.828.html
推
02/01 08:38, , 1F
02/01 08:38, 1F
→
02/02 10:28, , 2F
02/02 10:28, 2F
→
02/02 10:29, , 3F
02/02 10:29, 3F
推
02/02 17:25, , 4F
02/02 17:25, 4F
推
02/03 00:56, , 5F
02/03 00:56, 5F
→
02/03 00:57, , 6F
02/03 00:57, 6F
→
02/03 00:58, , 7F
02/03 00:58, 7F
感謝各位回復
我把irda改為uart狀態有好轉了
可是現在丟的資料電腦接收都是錯的
google後發現可能是速度問題所以要加適當的延時
修改後接受到的資料還是有問題
以下附上程式碼給大家幫忙了 謝謝
#include "STC12C5A60S2.h"
#include<intrins.h>
sbit SCLK = P0^3;
sbit MISO = P0^2;
sbit MOSI = P0^1;
sbit SPISS = P0^0;
void delay1msX(unsigned int count);
void inital_SPI();
void spi(unsigned short dat );
void MAX3100init(unsigned short dat);
void main()
{
MISO=1;
MAX3100init(0xe00c); //普通UART模式 4800bit/s 振盪器3.6864MHZ
while(1)
{
spi(0x8012); //發送資料到TX端
delay1msX(1);
delay1msX(1);
} }
void MAX3100init(unsigned short dat)
{
spi(dat);
}
void spi(unsigned short dat)
{ unsigned char i = 0;
unsigned short k;
k=dat;
SPISS=0; //選擇從機
for(i=0;i<16;i++)
{
if(k & 0x8000)
{
MOSI=1 ;
}
else
{
MOSI=0;
}
SCLK=1;
__nop_();
__nop_();
k=k<<1;
SCLK=0;
}
SPISS=1;
}
void delay1msX(unsigned int count) // 1ms*count 延遲副程式
{
unsigned int i,j;
for(i=0;i<count;i++)
for(j=0;j<114;j++);
}
※ 編輯: wads90828 (140.125.20.234), 02/03/2015 11:43:34
※ 編輯: wads90828 (140.125.20.234), 02/03/2015 11:44:42
推
02/27 18:04, , 8F
02/27 18:04, 8F
→
02/27 18:04, , 9F
02/27 18:04, 9F
→
03/03 19:15, , 10F
03/03 19:15, 10F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
ASM 近期熱門文章
PTT數位生活區 即時熱門文章