OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4319|回复: 1

avr上的程序移植到战舰板子上的问题

[复制链接]

5

主题

9

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2013-7-2
在线时间
0 小时
发表于 2013-7-3 01:04:33 | 显示全部楼层 |阅读模式
程序如下:
void RDAC_write(uchar rdac_value,uchar radc_choose)
{
 uchar m;
 _CLI();//关总中断 
 if(radc_choose==0)//根据rdac_choose的值为0写RDAC0,不为0则写RDAC1
     {
       CLR_BIT(PORTB,SDI);//向数据线写入00选择RDAC0
  NOP();
  NOP();
       CLR_BIT(PORTB,CSI);
       SET_BIT(PORTB,CLK);
  NOP();
  NOP();
       CLR_BIT(PORTB,CLK);
  NOP();
  NOP();
       SET_BIT(PORTB,CLK);
  NOP();
  NOP();
       CLR_BIT(PORTB,CLK);   
     }
 else
     {
       CLR_BIT(PORTB,SDI);//向数据线写入01选择RDAC1
  NOP();
  NOP();
       CLR_BIT(PORTB,CSI);
       SET_BIT(PORTB,CLK);
       CLR_BIT(PORTB,CLK);
  NOP();
  NOP();
       SET_BIT(PORTB,SDI);
  NOP();
  NOP();
       SET_BIT(PORTB,CLK);
  NOP();
  NOP();
       CLR_BIT(PORTB,CLK);
      }
 for(m=8;m>0;m--)//向数据线写入数据rdac_value
     {
         if(GET_BIT(rdac_value,m-1))
          {
             SET_BIT(PORTB,SDI);
NOP();
        NOP();
             SET_BIT(PORTB,CLK);
NOP();
        NOP();
             CLR_BIT(PORTB,CLK); 
          }
         else
          {
             CLR_BIT(PORTB,SDI);
NOP();
        NOP();
             SET_BIT(PORTB,CLK);
NOP();
        NOP();
             CLR_BIT(PORTB,CLK); 
          }
     }
    SET_BIT(PORTB,CSI);//拉高片选,关闭写入
 _WDR();
 _SEI();//开总中断
}
这段程序,要在战舰上使用,怎么改。在下没学过AVR,初学ARM,求指教。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-7-3 10:46:58 | 显示全部楼层
先把STM32的IO设置搞明白,上面这个就不难了.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-18 11:47

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表