创龙的6748程序谁有啊,能给我发一份吗 - TMS320C6748 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 7783|回复: 18
打印 上一主题 下一主题

创龙的6748程序谁有啊,能给我发一份吗

[复制链接]

1

主题

14

帖子

1057

积分

金牌会员

Rank: 6Rank: 6

积分
1057
跳转到指定楼层
楼主
发表于 2016-9-20 20:48:39 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
997627482@qq.com,谢谢各位路过的大大~
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

1

主题

14

帖子

1057

积分

金牌会员

Rank: 6Rank: 6

积分
1057
19#
 楼主| 发表于 2016-12-28 15:51:33 | 只看该作者
将程序暂停观察到的波形图是:

这里我也看不懂,中间为什么是那个样子的,而且我换个地方暂停:

也还是这个样子。请问下我怎么才能解决让图形自动刷新呢,adc_cnt++到65535的时间又太长了点,大概等了10几秒。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

1

主题

14

帖子

1057

积分

金牌会员

Rank: 6Rank: 6

积分
1057
18#
 楼主| 发表于 2016-12-28 15:46:09 | 只看该作者
CH1_Sample[adc_cnt]是长度为256的数组,存满了256个数据之后,就是我们观察到的正弦波形。在我的程序里,无符号数adc_cnt++到65535之后回0,这期间波形是没有刷新的,adc_cnt回0之后才又对CH1_Sample 256个数组重新赋值,波形此时也能正确刷新,但是如果把adc_cnt的数据类型改成unsigned char,即8位的,那么新采集到的数据就会放在数组里面,理论上观察到的波形应该还是正弦,但是我做的仿真却得到了不一样的结果:
我感觉是graph这个工具的刷新时间问题吧,毕竟我定时器设置的周期是200us,即采样频率是5KHZ,请问是不是这个样子的呢?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

1

主题

14

帖子

1057

积分

金牌会员

Rank: 6Rank: 6

积分
1057
17#
 楼主| 发表于 2016-12-28 14:59:11 | 只看该作者
本帖最后由 leafy 于 2016-12-28 15:03 编辑

使用的芯片是ADC7606,8通道同步串行读取,在通道一加一50HZ 3V正弦信号,用Graph工具single time画出





CH1_Sample的波形图如下:




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

1

主题

14

帖子

1057

积分

金牌会员

Rank: 6Rank: 6

积分
1057
16#
 楼主| 发表于 2016-12-28 14:50:59 | 只看该作者
/*              中断服务函数                                                */
/*                                                                          */
/****************************************************************************/
void TimerIsr(void)
{
    // 禁用定时器 / 计数器中断
    TimerIntDisable(SOC_TMR_2_REGS, TMR_INT_TMR12_NON_CAPT_MODE);
    // 清除中断标志
    IntEventClear(SYS_INT_T64P2_TINTALL);
    TimerIntStatusClear(SOC_TMR_2_REGS, TMR_INT_TMR12_NON_CAPT_MODE);
    //读取一次数据
    AD7606ReadOneSample(DOUT);
   /* if(adc_cnt>Num-1)
                                           {
                                             for(h=0;h<256;h++)
                                                     CH1_Sample[h]=0;
                                                 adc_cnt=0;
                                           }*/
    // 使能 定时器 / 计数器 中断
     TimerIntEnable(SOC_TMR_2_REGS, TMR_INT_TMR12_NON_CAPT_MODE);
}
/*              延时                                                        */
/*                                                                          */
/****************************************************************************/
void Delay(volatile unsigned int count)
{
    while(count--);
}
//PinMUX函数
void GPIOBank1Pin14PinMuxSetup(void)
{
    unsigned int savePinmux = 0;

    savePinmux = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(2)) &
                 ~(SYSCFG_PINMUX2_PINMUX2_7_4));

    HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(2)) =
         (PINMUX2_GPIO1_14_ENABLE | savePinmux);
}

void GPIOBank1Pin13PinMuxSetup(void)
{
    unsigned int savePinmux = 0;

    savePinmux = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(2)) &
                 ~(SYSCFG_PINMUX2_PINMUX2_11_8));

    HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(2)) =
         (PINMUX2_GPIO1_13_ENABLE | savePinmux);
}

void GPIOBank1Pin12PinMuxSetup(void)
{
    unsigned int savePinmux = 0;

    savePinmux = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(2)) &
                 ~(SYSCFG_PINMUX2_PINMUX2_15_12));

    HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(2)) =
         (PINMUX2_GPIO1_12_ENABLE | savePinmux);
}

void GPIOBank1Pin11PinMuxSetup(void)
{
    unsigned int savePinmux = 0;

    savePinmux = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(2)) &
                 ~(SYSCFG_PINMUX2_PINMUX2_19_16));

    HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(2)) =
         (PINMUX2_GPIO1_11_ENABLE | savePinmux);
}

void GPIOBank1Pin10PinMuxSetup(void)
{
    unsigned int savePinmux = 0;

    savePinmux = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(2)) &
                 ~(SYSCFG_PINMUX2_PINMUX2_23_20));

    HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(2)) =
         (PINMUX2_GPIO1_10_ENABLE | savePinmux);
}

void GPIOBank1Pin9PinMuxSetup(void)
{
    unsigned int savePinmux = 0;

    savePinmux = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(2)) &
                 ~(SYSCFG_PINMUX2_PINMUX2_27_24));

    HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(2)) =
         (PINMUX2_GPIO1_9_ENABLE | savePinmux);
}

void GPIOBank8Pin7PinMuxSetup(void)
{
    unsigned int savePinmux = 0;

    savePinmux = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(2)) &
                 ~(SYSCFG_PINMUX2_PINMUX2_31_28));

    HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(2)) =
         (PINMUX2_GPIO8_7_ENABLE | savePinmux);
}
//管脚输出函数
void AD7606_SCK_LOW(void)//GP1_11
{
        GPIORegs.CLR_DATA01.bit.GP1P11=1;
}

void AD7606_SCK_HIGH(void)//GP1_11
{
        GPIORegs.SET_DATA01.bit.GP1P11=1;
}

void AD7606_RST_LOW(void)//GP1_12
{
        GPIORegs.CLR_DATA01.bit.GP1P12=1;
}

void AD7606_RST_HIGH(void)//GP1_12
{
        GPIORegs.SET_DATA01.bit.GP1P12=1;
}

void AD7606_CNVST_LOW(void)//GP1_9
{
        GPIORegs.CLR_DATA01.bit.GP1P9=1;
}

void AD7606_CNVST_HIGH(void)//GP1_9
{
        GPIORegs.SET_DATA01.bit.GP1P9=1;
}

void AD7606_SCS_LOW(void)//GP1_10
{
        GPIORegs.CLR_DATA01.bit.GP1P10=1;
}

void AD7606_SCS_HIGH(void)//GP1_10
{
        GPIORegs.SET_DATA01.bit.GP1P10=1;
}//管脚读取数据函数
void AD7606ReadOneSample(int * buf)
{
        unsigned char j, k;
        unsigned short int TempA, TempB;


        AD7606_CNVST_LOW();
        Delay(70);
        AD7606_CNVST_HIGH();
        Delay(6);



        while(GPIORegs.IN_DATA01.bit.GP1P14==1)
        {

        }

        AD7606_SCS_LOW();

        for(j=0; j<4; j++)
        {
                TempA=0;
                TempB=0;

                for(k=0; k<16; k++)
                {
                        AD7606_SCK_LOW();

                        TempA=(TempA<<1) +GPIORegs.IN_DATA01.bit.GP1P13;
                        TempB=(TempB<<1) +GPIORegs.IN_DATA8.bit.GP8P7;

                        AD7606_SCK_HIGH();
                }

                buf[j]=(int)TempA;
                buf[4+j]=(int)TempB;

        }
        AD7606_SCS_HIGH();
        conv_flg=1;
        /* if(adc_cnt>Num-1)
                                       {
                                         for(h=0;h<256;h++)
                                                 CH1_Sample[h]=0;
                                             adc_cnt=0;
                                       }*/
}
//AD7606复位函数
void AD7606Reset(void)
{
            AD7606_RST_LOW();
                Delay(0xFFFF);
                AD7606_RST_HIGH();
                Delay(0x0001);
                AD7606_RST_LOW();
                AD7606_SCK_HIGH();
                AD7606_CNVST_HIGH();
                AD7606_SCS_HIGH();

}


回复 支持 反对

使用道具 举报

1

主题

14

帖子

1057

积分

金牌会员

Rank: 6Rank: 6

积分
1057
15#
 楼主| 发表于 2016-12-28 11:30:18 | 只看该作者
本帖最后由 leafy 于 2016-12-28 14:50 编辑

int main(void)
{
        int i;
        // 外设使能配置
        PSCInit();
       
        // GPIO 管脚复用配置
        GPIOBankPinMuxSet();

        // GPIO 管脚初始化
        GPIOBankPinInit();

        // 定时器 / 计数器初始化
        TimerInit();

        // DSP 中断初始化
        InterruptInit();

        // 定时器 / 计数器中断初始化
        TimerInterruptInit();

        //AD7606初始化
        AD7606Reset();

        // 主循环
         for(; ;)
            {
                  if(conv_flg==1)//一个sample已经被读完,存在了DOUT[0]-DOUT[7]当中,都是int型的数据。
                   {
                      for(i=0;i<8;i++)
                         AdcSample = (20.0/65536.0)* DOUT;//数字量转换为模拟量,输入范围是正负10V,精度为16位
                                                                //相当于将20V分成了65536份,公式为A=(20.0/65536.0)*D;A为模拟量值,D为数字量值;
                                                                //如果输入范围是正负5V则公式为A=(10.0/65536.0)*D
                          conv_flg=0;

                          CH1_Sample[adc_cnt] = AdcSample[0];//存放每个通道的历史数值
                          CH2_Sample[adc_cnt] = AdcSample[1];
                          CH3_Sample[adc_cnt] = AdcSample[2];
                          CH4_Sample[adc_cnt] = AdcSample[3];
                          CH5_Sample[adc_cnt] = AdcSample[4];
                          CH6_Sample[adc_cnt] = AdcSample[5];
                          CH7_Sample[adc_cnt] = AdcSample[6];
                          CH8_Sample[adc_cnt] = AdcSample[7];
                          adc_cnt++;

/*          if(adc_cnt>Num-1)
                               {
                                 for(h=0;h<256;h++)
                                         CH1_Sample[h]=0;
                                     adc_cnt=0;
                               }
*/
                       }
                   }
}
/*        while(1)
        {
                //一个sample已经被读完,存在了DOUT[0]-DOUT[7]当中,都是int型的数据。
                          if(conv_flg==1)
                           {
                              for(i=0;i<8;i++)
                              AdcSample = (20.0/65536.0)* DOUT;
                                  CH1_Sample[adc_cnt] = AdcSample[0];  
                                  CH2_Sample[adc_cnt] = AdcSample[1];
                                  CH3_Sample[adc_cnt] = AdcSample[2];
                                  CH4_Sample[adc_cnt] = AdcSample[3];
                                  CH5_Sample[adc_cnt] = AdcSample[4];
                                  CH6_Sample[adc_cnt] = AdcSample[5];
                                  CH7_Sample[adc_cnt] = AdcSample[6];
                                  CH8_Sample[adc_cnt] = AdcSample[7];
                                  adc_cnt++;
                                  conv_flg=0;
                                  if(adc_cnt>255)
                                          adc_cnt=0;

                           }
    }
    */

/****************************************************************************/
/*                                                                          */
/*              PSC 初始化                                                  */
/*                                                                          */
/****************************************************************************/
void PSCInit(void)
{
        // 使能 GPIO 模块
        // 对相应外设模块的使能也可以在 BootLoader 中完成
    PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO, PSC_POWERDOMAIN_ALWAYS_ON, PSC_MDCTL_NEXT_ENABLE);
}

/****************************************************************************/
/*                                                                          */
/*              GPIO 管脚复用配置                                           */
/*                                                                          */
/****************************************************************************/
void GPIOBankPinMuxSet(void)
{
        // 配置相应的7个 GPIO 口功能为普通输入输出口

        GPIOBank1Pin14PinMuxSetup();
        GPIOBank1Pin13PinMuxSetup();
        GPIOBank1Pin12PinMuxSetup();
        GPIOBank1Pin11PinMuxSetup();
        GPIOBank1Pin10PinMuxSetup();
        GPIOBank1Pin9PinMuxSetup();
        GPIOBank8Pin7PinMuxSetup();
}

/****************************************************************************/
/*                                                                          */
/*              GPIO 管脚初始化                                             */
/*                                                                          */
/****************************************************************************/
void GPIOBankPinInit(void)
{
    // OMAPL138 及 DSP C6748 共有 144 个 GPIO
        // 以下为各组 GPIO BANK 起始管脚对应值
    // 范围 1-144
        // GPIO0[0] 1
    // GPIO1[0] 17
        // GPIO2[0] 33
    // GPIO3[0] 49
        // GPIO4[0] 65
    // GPIO5[0] 81
        // GPIO6[0] 97
        // GPIO7[0] 113
        // GPIO8[0] 129

    GPIODirModeSet(SOC_GPIO_0_REGS, 31, GPIO_DIR_INPUT);  // GPIO1[14]
    GPIODirModeSet(SOC_GPIO_0_REGS, 30, GPIO_DIR_INPUT);  // GPIO1[13]
    GPIODirModeSet(SOC_GPIO_0_REGS, 136, GPIO_DIR_INPUT);  // GPIO8[7]
    GPIODirModeSet(SOC_GPIO_0_REGS, 29, GPIO_DIR_OUTPUT);  // GPIO1[12]
    GPIODirModeSet(SOC_GPIO_0_REGS, 28, GPIO_DIR_OUTPUT);  // GPIO1[11]
    GPIODirModeSet(SOC_GPIO_0_REGS, 27, GPIO_DIR_OUTPUT);  // GPIO1[10]
    GPIODirModeSet(SOC_GPIO_0_REGS, 26, GPIO_DIR_OUTPUT);  // GPIO1[9]
}

/****************************************************************************/
/*                                                                          */
/*              定时器 / 计数器初始化                                       */
/*                                                                          */
/****************************************************************************/
void TimerInit(void)
{
    // 配置 定时器 / 计数器 2 为 64 位模式
    TimerConfigure(SOC_TMR_2_REGS, TMR_CFG_64BIT_CLK_INT);

    // 设置周期
    TimerPeriodSet(SOC_TMR_2_REGS, TMR_TIMER12, TMR_PERIOD_LSB32);
    TimerPeriodSet(SOC_TMR_2_REGS, TMR_TIMER34, TMR_PERIOD_MSB32);

    // 使能 定时器 / 计数器 2
    TimerEnable(SOC_TMR_2_REGS, TMR_TIMER12, TMR_ENABLE_CONT);
}

/****************************************************************************/
/*                                                                          */
/*              定时器 / 计数器中断初始化                                   */
/*                                                                          */
/****************************************************************************/
void TimerInterruptInit(void)
{
        // 注册中断服务函数
        IntRegister(C674X_MASK_INT4, TimerIsr);

        // 映射中断到 DSP 可屏蔽中断
        IntEventMap(C674X_MASK_INT4, SYS_INT_T64P2_TINTALL);

        // 使能 DSP 可屏蔽中断
        IntEnable(C674X_MASK_INT4);

        // 使能 定时器 / 计数器 中断
        TimerIntEnable(SOC_TMR_2_REGS, TMR_INT_TMR12_NON_CAPT_MODE);
}

/****************************************************************************/
/*                                                                          */
/*              DSP 中断初始化                                              */
/*                                                                          */
/****************************************************************************/
void InterruptInit(void)
{
        // 初始化 DSP 中断控制器
        IntDSPINTCInit();

        // 使能 DSP 全局中断
        IntGlobalEnable();
}

/****************************************************************************/
/*                                                                          */

回复 支持 反对

使用道具 举报

1

主题

14

帖子

1057

积分

金牌会员

Rank: 6Rank: 6

积分
1057
14#
 楼主| 发表于 2016-12-28 11:23:44 | 只看该作者
本帖最后由 leafy 于 2016-12-28 15:52 编辑

/****************************************************************************/
/*                                                                          */
/*          AD7606                C6748                                    */
/*                                                                          */
/*                                                                          */
/****************************************************************************/
// 注意:DSP ports, Shared RAM, UART0, EDMA, SPI0, MMC/SDs,
//       VPIF, LCDC, SATA, uPP, DDR2/mDDR (bus ports), USB2.0, HPI, PRU
//       这些外设使用的时钟来源为 PLL0_SYSCLK2 默认频率为 CPU 频率的二分之一
//       但是,ECAPs, UART1/2, Timer64P2/3, eHRPWMs,McBSPs, McASP0, SPI1
//       这些外设的时钟来源可以在 PLL0_SYSCLK2 和 PLL1_SYSCLK2 中选择
//       通过修改 System Configuration (SYSCFG) Module
//       寄存器 Chip Configuration 3 Register (CFGCHIP3) 第四位 ASYNC3_CLKSRC
//       配置时钟来源
//       (默认值) 0 来源于 PLL0_SYSCLK2
//                  1 来源于 PLL1_SYSCLK2
//       如果不是为了降低功耗,不建议修改这个值,它会影响所有相关外设的时钟频率

#include "TL6748.h"                 // 创龙 DSP6748 开发板相关声明
#include "main.h"
#include "hw_types.h"               // 宏命令
#include "hw_syscfg0_C6748.h"       // 系统配置模块寄存器
#include "soc_C6748.h"              // DSP C6748 外设寄存器
#include "psc.h"                    // 电源与睡眠控制宏及设备抽象层函数声明
#include "gpio.h"                   // 通用输入输出口宏及设备抽象层函数声明
#include "timer.h"                  // 通用输入输出口宏及设备抽象层函数声明
#include "interrupt.h"              // DSP C6748 中断相关应用程序接口函数声明及系统事件号定义

/****************************************************************************/
/*                                                                          */
/*              宏定义                                                      */
/*                                                                          */
/****************************************************************************/
#define PINMUX2_GPIO1_14_ENABLE    (SYSCFG_PINMUX2_PINMUX2_7_4_GPIO1_14     << \
                                    SYSCFG_PINMUX2_PINMUX2_7_4_SHIFT)

#define PINMUX2_GPIO1_13_ENABLE    (SYSCFG_PINMUX2_PINMUX2_11_8_GPIO1_13     << \
                                    SYSCFG_PINMUX2_PINMUX2_11_8_SHIFT)

#define PINMUX2_GPIO1_12_ENABLE    (SYSCFG_PINMUX2_PINMUX2_15_12_GPIO1_12     << \
                                    SYSCFG_PINMUX2_PINMUX2_15_12_SHIFT)

#define PINMUX2_GPIO1_11_ENABLE    (SYSCFG_PINMUX2_PINMUX2_19_16_GPIO1_11     << \
                                    SYSCFG_PINMUX2_PINMUX2_19_16_SHIFT)

#define PINMUX2_GPIO1_10_ENABLE    (SYSCFG_PINMUX2_PINMUX2_23_20_GPIO1_10     << \
                                    SYSCFG_PINMUX2_PINMUX2_23_20_SHIFT)

#define PINMUX2_GPIO1_9_ENABLE    (SYSCFG_PINMUX2_PINMUX2_27_24_GPIO1_9    << \
                                    SYSCFG_PINMUX2_PINMUX2_27_24_SHIFT)

#define PINMUX2_GPIO8_7_ENABLE    (SYSCFG_PINMUX2_PINMUX2_31_28_GPIO8_7    << \
                                    SYSCFG_PINMUX2_PINMUX2_31_28_SHIFT)
// 64位 定时器 / 计数器周期
// 定时时间 200微秒
// 低32位
#define TMR_PERIOD_LSB32  (0xB220)
// 高32位 0
#define TMR_PERIOD_MSB32  (0)
/****************************************************************************/
/*                                                                          */
/*              全局变量                                                    */
/*                                                                          */
/****************************************************************************/
#define  Num 256
int DOUT[8];
int h;
float AdcSample[8];
float CH1_Sample[Num];
float CH2_Sample[Num];
float CH3_Sample[Num];
float CH4_Sample[Num];
float CH5_Sample[Num];
float CH6_Sample[Num];
float CH7_Sample[Num];
float CH8_Sample[Num];
unsigned short int adc_cnt=0;
int conv_flg=0;
/****************************************************************************/
/*                                                                          */
/*              函数声明                                                    */
/*                                                                          */
/****************************************************************************/
// 外设使能配置
void PSCInit(void);
// GPIO 管脚复用配置
void GPIOBankPinMuxSet();
// GPIO 管脚初始化
void GPIOBankPinInit();
// 定时器 / 计数器初始化
void TimerInit(void);
// 定时器 / 计数器中断初始化
void TimerInterruptInit(void);
// DSP 中断初始化
void InterruptInit(void);
// 中断服务函数
void TimerIsr(void);
// 延时函数
void Delay(volatile unsigned int count);
//PINMUX函数
void GPIOBank1Pin14PinMuxSetup(void);
void GPIOBank1Pin13PinMuxSetup(void);
void GPIOBank1Pin12PinMuxSetup(void);
void GPIOBank1Pin11PinMuxSetup(void);
void GPIOBank1Pin10PinMuxSetup(void);
void GPIOBank1Pin9PinMuxSetup(void);
void GPIOBank8Pin7PinMuxSetup(void);
//管脚输出函数
void AD7606_SCK_LOW(void);
void AD7606_SCK_HIGH(void);
void AD7606_RST_LOW(void);
void AD7606_RST_HIGH(void);
void AD7606_CNVST_LOW(void);
void AD7606_CNVST_HIGH(void);
void AD7606_SCS_LOW(void);
void AD7606_SCS_HIGH(void);
//管脚读取数据函数
void AD7606ReadOneSample(int * buf);
//AD7606复位函数
void AD7606Reset(void);
/****************************************************************************/
/*                                                                          */
/*              主函数                                                      */
/*                                                                          */
/****************************************************************************/

回复 支持 反对

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
13#
发表于 2016-11-4 20:56:21 | 只看该作者
leafy 发表于 2016-11-4 16:37
上面的问题已经找到了,MCBSP里说了位操作的方法。不过还有一个问题,DSP6748里FLASH 搬移到RAM 运行的实现 ...


C6748 内部 ROM 有个非常强大的 Bootloader 搬移操作不需要用户应用程序干预
回复 支持 反对

使用道具 举报

1

主题

14

帖子

1057

积分

金牌会员

Rank: 6Rank: 6

积分
1057
12#
 楼主| 发表于 2016-11-4 16:37:52 | 只看该作者
上面的问题已经找到了,MCBSP里说了位操作的方法。不过还有一个问题,DSP6748里FLASH 搬移到RAM 运行的实现方法 有吗?

点评

C6748 内部 ROM 有个非常强大的 Bootloader 搬移操作不需要用户应用程序干预  详情 回复 发表于 2016-11-4 20:56
回复 支持 反对

使用道具 举报

1

主题

14

帖子

1057

积分

金牌会员

Rank: 6Rank: 6

积分
1057
11#
 楼主| 发表于 2016-11-4 14:56:22 | 只看该作者
我想解决最上面提出的速度太慢的问题,能不能不用GPIOREAD函数,而像上面这段28335代码一样,采用GpioDataRegs.GPBDAT.bit.GPIO32这种方式。
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2024-5-3 12:48 , Processed in 0.083023 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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