嵌入式开发者社区

标题: OMAPL138 SPI通讯 [打印本页]

作者: dongxiaoyang    时间: 2016-10-18 21:30
标题: OMAPL138 SPI通讯
6 N$ }' d; e4 I/ }3 P' f+ K

% J4 g* l# e$ d% Y
有一个问题,请大神帮忙,我在用贵公司的OMAPL138,用IO口模拟SPI通讯时序,目前我写的程序,SCLK周期最小就为9.6us,但是我需要更快的SCLK时序,关于SCLK的时序如下,请问程序需要怎么修改,谢谢。
void WriteViaSpi(INT8UValueToWrite)
{
       INT8Ui;
       //Write out the ControlWord
       for(i= 0; i < 8; i++)
       {     
              CLR_SCLK();
              if(0x80== (ValueToWrite & 0x80))
              {
                     SET_SDIN();   //Sendone to SDI pin
              }
              else
              {
                     CLR_SDIN();   //Sendzero to SDI pin
              }
              SET_SCLK();
              ValueToWrite<<= 1;    //Rotate data
       }
       CLR_SCLK();
    delay(1);//100
}
* ]3 K( R. `3 A+ c. T( W7 p3 U

作者: 希望缄默    时间: 2016-10-19 09:02
程序本身优化空间不大
' z4 x+ e  ?, ?7 H/ _3 O编译选项 -o2 / -o3
! O+ r! s  ]+ s2 z  hCMD 文件把段放到 L2RAM 中等等8 K" q  P4 W. n( g

# S! i7 e8 `- K; w7 W或者改用硬件 SPI
作者: dongxiaoyang    时间: 2016-10-19 10:13
请问,-o2 / -o3 CMD 文件把段放到 L2RAM 怎么修改呢?谢谢
作者: human    时间: 2016-10-20 12:17
您打开CMD文件就知道
3 @. U& t" E5 K' U( k编译选项在工程属性配置
作者: dongxiaoyang    时间: 2016-10-21 10:27
改了-o2/-o3有效果,用-o3能到5us,但是改CMD文件没有效果。还请问,OMAPL138的主频时钟是456MHZ,是不是硬件IO口被分频了?咱们的历程程序里是不是有对硬件IO口的时钟限制啊?谢谢




欢迎光临 嵌入式开发者社区 (https://www.51ele.net/) Powered by Discuz! X3.4