嵌入式开发者社区

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

作者: dongxiaoyang    时间: 2016-10-18 21:30
标题: OMAPL138 SPI通讯

2 D4 M2 t8 J3 j1 F3 M$ Y0 ~) b( z9 h2 `' i
有一个问题,请大神帮忙,我在用贵公司的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
}
8 ]0 U( g+ g( D( I: q- D

作者: 希望缄默    时间: 2016-10-19 09:02
程序本身优化空间不大
- r6 ^6 c9 @. v, }$ D* t编译选项 -o2 / -o3 1 m% n4 h0 G; a1 Y
CMD 文件把段放到 L2RAM 中等等
/ i) T1 @# T; q/ m7 |9 w( R) C/ L3 U! E- ~
或者改用硬件 SPI
作者: dongxiaoyang    时间: 2016-10-19 10:13
请问,-o2 / -o3 CMD 文件把段放到 L2RAM 怎么修改呢?谢谢
作者: human    时间: 2016-10-20 12:17
您打开CMD文件就知道% C/ l9 K0 r1 d  p/ G
编译选项在工程属性配置
作者: dongxiaoyang    时间: 2016-10-21 10:27
改了-o2/-o3有效果,用-o3能到5us,但是改CMD文件没有效果。还请问,OMAPL138的主频时钟是456MHZ,是不是硬件IO口被分频了?咱们的历程程序里是不是有对硬件IO口的时钟限制啊?谢谢




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