你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm32F7的 8080并口传数据? 高8位低8位如何存和发

[复制链接]
Rareyee 提问时间:2017-11-21 15:04 /

在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);                 
                                                                                                                                                                                         
        }


收藏 1 评论1 发布时间:2017-11-21 15:04

举报

1个回答
springvirus 回答时间:2018-3-6 13:32:09
本帖最后由 springvirus 于 2018-3-7 08:30 编辑

具体看你编译器和平台的设置,是大端还是小端
然后高低字节处理起来就轻松了


使用以下结构确认大小端

union sv {
   
    unsigned short Val;
    unsigned char c[2];
}sv_16;

union sv {
   
    unsigned int Val;
    unsigned char c[4];

}sv_32;

sv_16 temp_16;
sv_32 temp_32;

temp_16.Val = xxxx;
temp_32.Val = xxxx;

printf("%02x %02x ", temp_16.c[0], temp_16.c[1] );
printf("%02x %02x %02x %02x", temp_32.c[0], temp_32.c[1], temp_32.c[2], temp_32.c[3]);




评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版