3271|1

1

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

关于Atmel ATSAM3X8E的SPI ASF问题 [复制链接]



大家好,我用arduino due在Atmel Studio 的ASF下实现SPI功能,没有成功,想问问是什么问题,运行后LED灯有闪,但是SPI的时钟和数据没有波形,麻烦帮忙看看问题在哪?  感谢
代码如下:

#include
#define LED IOPORT_CREATE_PIN(PIOB,27)

//#define MISO IOPORT_CREATE_PIN(PIOA,25)
//#define MOSI IOPORT_CREATE_PIN(PIOA,26)
//#define SPCK IOPORT_CREATE_PIN(PIOA,27)
//#define NPCS IOPORT_CREATE_PIN(PIOA,28)
#define DEFAULT_CHIP_ID   0



int main (void)
{
        /* Insert system clock initialization code here (sysclk_init()). */
        Spi SPI_EXAMPLE;
        struct spi_device SPI_DEVICE_EXAMPLE1 = {.id = IOPORT_CREATE_PIN(PIOA,28)};
        uint32_t SPI_EXAMPLE_BAUDRATE = 1000000;
        uint8_t spi_data = 0x55;
        uint32_t  i=0;
        board_init();
        sysclk_init();
        ioport_init();
        uint8_t data_buffer[1] = {0xAA};

               
        ioport_set_pin_mode(PIO_PA25_IDX,IOPORT_MODE_MUX_A);
        ioport_disable_pin(PIO_PA25_IDX);
        ioport_set_pin_mode(PIO_PA26_IDX,IOPORT_MODE_MUX_A);
        ioport_disable_pin(PIO_PA26_IDX);
        ioport_set_pin_mode(PIO_PA27_IDX,IOPORT_MODE_MUX_A);
        ioport_disable_pin(PIO_PA27_IDX);
        ioport_set_pin_mode(PIO_PA28_IDX,IOPORT_MODE_MUX_A);
        ioport_disable_pin(PIO_PA28_IDX);
       

                       
                spi_master_init(&SPI_EXAMPLE);
                spi_master_setup_device(&SPI_EXAMPLE,&SPI_DEVICE_EXAMPLE1,SPI_MODE_1,1000000,0);
                spi_enable(&SPI_EXAMPLE);
               
//        ioport_set_pin_dir(LED,IOPORT_DIR_OUTPUT);
        while(1)
        {

                if( spi_is_tx_ready (&SPI_EXAMPLE) == 1)
                {

                        spi_select_device(&SPI_EXAMPLE,&SPI_DEVICE_EXAMPLE1);
                        spi_write_packet(&SPI_EXAMPLE, data_buffer, 1);
                        spi_read_packet(&SPI_EXAMPLE, data_buffer, 1);
                        spi_deselect_device(&SPI_EXAMPLE,&SPI_DEVICE_EXAMPLE1);
                        ioport_toggle_pin_level(LED);
                        delay_ms(500);
                }
                else
                {
                        ioport_set_pin_level(LED,IOPORT_PIN_LEVEL_HIGH);

                       
                }


        }

        /* Insert application code here, after the board has been initialized. */
}


最新回复

SPI_EXAMPLE 不用设置的?  详情 回复 发表于 2019-1-22 13:33
点赞 关注
 

回复
举报

7462

帖子

2

TA的资源

五彩晶圆(高级)

沙发
 
SPI_EXAMPLE 不用设置的?
 
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表