stm32如何读取并口_stm32F7的 8080并口传数据? 高8位低8位如何存和发

这篇博客详细介绍了如何在STM32F7微控制器上实现8080并行接口的数据读取和发送。通过设置不同片选信号(CS_A, CS_B, CS_C)来选择6片ADC,然后通过读取P1和P0口获取高8位和低8位数据,并存储到Data数组中。发送过程涉及将Data数组的内容按特定格式发送出去,包括一个起始和结束标识。该教程对于理解STM32并口通信具有参考价值。" 122717254,5565719,SystemVerilog中timeunit/timeprecision详解,"['硬件验证', '系统级Verilog', '编程语言']
摘要由CSDN通过智能技术生成

本帖最后由 Rareyee 于 2017-11-21 15:05 编辑

在51里面是这样写的    在stm32里面 就是不知道怎么存  怎么送   用了6片ADC  DB0-DB15用了GPIOF

void Read(void)

{

int n;

int j;

int byte_num=0;

unsigned int H_Data;

unsigned int L_Data;

unsigned int m=0x40;

CON=0;

CON=1;

while(BUSY==1)

//        BUSY=1;

for(j=0;j<6;j++)

{   switch(j)

{

case 0:CS_A=0; CS_B=0; CS_C=0;break;

case 1:CS_A=1; CS_B=0; CS_C=0;break;

case 2:CS_A=0; CS_B=1; CS_C=0;break;

case 3:CS_A=1; CS_B=1; CS_C=0;break;

case 4:CS_A=0; CS_B=0; CS_C=1;break;

case 5:CS_A=1; CS_B=0; CS_C=1;break;

default: break;

}

for(n=0;n<8;n++)

{

RD=0;

H_Data=P1;

L_Data=P0;

RD=1;

Data[byte_num++]=H_Data;

Data[byte_num++]=L_Data;

}

}

}

/

void Send()

{

int k;

int i=0;

char Datas;

send_byte(0x99);

for(k=1;k<49;k++)

{

send_byte(k);

Datas=Data[i++];

send_byte(Datas);

Datas=Data;

i=i+1;

send_byte(Datas);

}

send_byte(0x99);

send_byte(0x99);

}

本帖最后由 Rareyee 于 2017-11-21 15:05 编辑

在51里面是这样写的    在stm32里面 就是不知道怎么存  怎么送   用了6片ADC  DB0-DB15用了GPIOF

void Read(void)

{

int n;

int j;

int byte_num=0;

unsigned int H_Data;

unsigned int L_Data;

unsigned int m=0x40;

CON=0;

CON=1;

while(BUSY==1)

//        BUSY=1;

for(j=0;j<6;j++)

{   switch(j)

{

case 0:CS_A=0; CS_B=0; CS_C=0;break;

case 1:CS_A=1; CS_B=0; CS_C=0;break;

case 2:CS_A=0; CS_B=1; CS_C=0;break;

case 3:CS_A=1; CS_B=1; CS_C=0;break;

case 4:CS_A=0; CS_B=0; CS_C=1;break;

case 5:CS_A=1; CS_B=0; CS_C=1;break;

default: break;

}

for(n=0;n<8;n++)

{

RD=0;

H_Data=P1;

L_Data=P0;

RD=1;

Data[byte_num++]=H_Data;

Data[byte_num++]=L_Data;

}

}

}

/

void Send()

{

int k;

int i=0;

char Datas;

send_byte(0x99);

for(k=1;k<49;k++)

{

send_byte(k);

Datas=Data[i++];

send_byte(Datas);

Datas=Data;

i=i+1;

send_byte(Datas);

}

send_byte(0x99);

send_byte(0x99);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值