6735 GPIO模拟SPI
有人深入MTK GPIO的设置吗?
有人懂用GPIO模拟PWM在5M速度吗?
首先,确保你的代码对应的指令周期应足够小,可以看看编译后对应的汇编代码,另外不要有函数调用等操作;其次,可以将模拟的这一小段代码放在内存中运行。至于GPIO的设置对拉高拉低时间的影响我印象应该是没有的,你可以再查查相关文档。
DGH SH SRGH ER HSDG ER S
5楼的大神牛啊
路过看看
#define SPICS_GPIO_PIN GPIO_SPI_CS_PIN//(GPIO_DISP_LSCE_PIN)
#define SPISCK_GPIO_PIN GPIO_SPI_SCK_PIN//(GPIO_DISP_LSCK_PIN)
#define SPISDA_GPIO_PIN GPIO_SPI_MOSI_PIN//(GPIO_DISP_LSDA_PIN)
#define SET_SPICS_LOW SET_GPIO_OUT(SPICS_GPIO_PIN, 0)
#define SET_SPICS_HIGH SET_GPIO_OUT(SPICS_GPIO_PIN, 1)
#define SET_SPISCK_LOW SET_GPIO_OUT(SPISCK_GPIO_PIN, 0)
#define SET_SPISCK_HIGH SET_GPIO_OUT(SPISCK_GPIO_PIN, 1)
#define SET_SPISDA_LOW SET_GPIO_OUT(SPISDA_GPIO_PIN, 0)
#define SET_SPISDA_HIGH SET_GPIO_OUT(SPISDA_GPIO_PIN, 1) //mt_set_gpio_out
static void spi_send_data(unsigned char data)
{
unsigned int i;
SET_SPICS_LOW;
UDELAY(1);
SET_SPISCK_LOW;
SET_SPISDA_HIGH;
UDELAY(1);
SET_SPISCK_HIGH;
UDELAY(1);
for (i = 0; i < 8; ++ i)
{
SET_SPISCK_LOW;
if (((data<<i) &0x80) ==0x80) {
SET_SPISDA_HIGH;
} else {
SET_SPISDA_LOW;
}
UDELAY(1);
SET_SPISCK_HIGH;
UDELAY(1);
}
SET_SPISCK_LOW;
SET_SPICS_HIGH;
}
static void spi_send_cmd(unsigned char data)
{
unsigned int i;
SET_SPICS_LOW;
UDELAY(1);
SET_SPISCK_LOW;
SET_SPISDA_LOW;
UDELAY(1);
SET_SPISCK_HIGH;
UDELAY(1);
for (i = 0; i < 8; ++ i)
{
SET_SPISCK_LOW;
if (((data<<i) &0x80) ==0x80) {
SET_SPISDA_HIGH;
} else {
SET_SPISDA_LOW;
}
UDELAY(1);
SET_SPISCK_HIGH;
UDELAY(1);
}
SET_SPISCK_LOW;
SET_SPICS_HIGH;
}
专业供应MTK套片:4G 芯片:MT6795 MT6755 MT6753 MT6735 MT6752
3G: MT6580 MT6582 MT6572
平板芯片:MT8735 MT8382 MT8127 MT8163
穿戴设备:MT2601 MT2503
有需求请联系:林生 电话:15014010664 QQ:616684804
see see
......
学习下
。
他应该有好几组SPI的啊 你可以看配置表
相关文章:
- 6260 编译模拟器问题,请进来看看(05-08)
- MTK开机流程-MMI部分(VC模拟器)(05-08)
- MTK模拟器问题,求助(05-08)
- MTK更新大版本后,WiFi模拟网测遇到的,请问什么原因导致的(05-08)
- MTK平台GPIO内部上下拉只在输入模式有效?(05-08)
- 请教:工具Drv_Tool的使用,GPIO序号和管脚怎么对应?(05-08)