⑴ 單片機板插上J-Link模擬器不能識別是什麼原因
看這:device Name:Unkonw Jtag device 也就是說,未識別的設備。
原因:1、驅動沒安裝好,解決,重裝驅動,找到合適的驅動,建議用驅動精靈安裝
2、軟體配置出錯,重新檢查下配置
⑵ 為什麼單片機DS1302無法讀取寫入
加入 nop或者delay循環試試,如果單片機速度快,時序可能太快也會造成讀亂。
第二確保0x80寄存器的bit7為0(寫入0),否則晶元不走,晶振停震,處於100nA低功耗備用模式
第三確保 0x8E的bit7為0,否則禁止寫入RAM寄存器。讀不需要。
⑶ 用STC89C52單片機I2C通信無法讀出寄存器里邊的數據 是什麼原因啊 在線等 急急急~
一、I2C 操作一定要注意時序,CPU在上升沿輸出數據,下降沿讀取數據
二、數據的 BIT 順序也要注意,先高位,後低位
三、時鍾的最大頻率為 400KHz,也即時鍾不能太高
四、讀數據時,先輸入地址,在輸入最後一個地址 bit 位後的下一個下降沿就得讀數據了
void ex_ee_start(void) //啟動 I2C。SCK 為高電平時,SDA 由高變低,啟動 I2C
{
pin_i2c_sda=1;
delay_us(0x05);
pin_i2c_sck=1;
delay_us(0x05);
pin_i2c_sda=0;
delay_us(0x05);
pin_i2c_sck=0;
}
void ex_ee_end(void) //結束 I2C。SCK 為高電平時,SDA 由低變高,結束 I2C
{
pin_i2c_sda=0;
delay_us(0x05);
pin_i2c_sck=1;
delay_us(0x05);
pin_i2c_sda=1;
delay_us(0x05);
pin_i2c_sck=0;
}
void ex_ee_wr_bits(unsigned char eerom_byte) //寫單位元組
{
unsigned char i=0x08;
while (i>0)
{
if (eerom_byte&0x80)
pin_i2c_sda=1;
else
pin_i2c_sda=0;
pin_i2c_sck=1;
delay_us(0x02);
pin_i2c_sck=0;
eerom_byte<<=1;
i--;
}
pin_i2c_sck=1; //時鍾為高電平時,可以讀反饋信號(低電平)
delay_us(0x05);
pin_i2c_sck=0;
}
void ex_ee_wr_byte(unsigned char ee_addr,unsigned char data_length,unsigned char *s) // E2ROM 數據塊寫
{
unsigned char i,j;
ex_ee_start(); //啟動 I2C
ex_ee_wr_bits(c02_wr_base+addr_offset);
ex_ee_wr_bits(ee_addr);
i=0x00;
while (i<data_length)
{
j=s[i];
ex_ee_wr_bits(j);
i++;
}
ex_ee_end();
}
void ex_ee_rd_byte(unsigned char ee_addr,unsigned char data_length,unsigned char *t) // E2ROM 數據塊讀
{
unsigned char i,j;
ex_ee_start();
ex_ee_wr_bits(c02_wr_base+addr_offset);
ex_ee_wr_bits(ee_addr);
ex_ee_start();
ex_ee_wr_bits(c02_rd_base+addr_offset);
i=0x00;
while (i<data_length)
{
j=0x00;
while (j<8)
{
pin_i2c_sda=1;
ret_status=ret_status<<1;
pin_i2c_sck=1;
if (pin_i2c_sda==1)
ret_status|=0x01;
pin_i2c_sck=0;
j++;
}
t[i]=ret_status;
i++;
if (i==data_length)
pin_i2c_sda=1;
else
pin_i2c_sda=0;
pin_i2c_sck=1;
delay_us(0x05);
pin_i2c_sck=0;
}
ex_ee_end();
}
⑷ 單片機可以接受IO_Link數據嗎
可以。准確地說,我是從2012年的秋天開始接觸DS1302這個晶元的。時年大四,正在做電子專業的專業實習。我們的題目是「智能家居」,其中用到了DS1302這個晶元
⑸ 單片機讀取數據問題
那你就用單片機的串口讀取萬用表的數據,然後放在一個數組中,再把這個數組中的數據顯示到LCD1602不就可以了,應該很簡單的吧。
⑹ 單片機為什麼不能讀取ADC0832的數據 下面是程序:#include<reg52.h> #include<intrins.h> #define uchar u
顯示本身有問題,則無法判定是否能讀取adc0832讀取數據正確。先從顯示硬體入手,然後查顯示軟體問題。
⑺ X5045與STM32單片機連接無法讀取數據的問題
X5045與STM32單片機連接,寫入數據正常,讀取數據總是0XFF或者0X01,無法正確讀取數據,那你怎麼知道寫入正常????????
出現這種情況,排除硬體問題的話,就是時序問題,你仔細對照數據手冊,檢查你的讀出寫入程序,問題基本可以肯定就在這里。