-
已解决,把延时函数对了一遍,设备地址也有点问题,现在已经好了
-
Study_Stellaris 发表于 2015-8-18 12:51
具体是什么芯片呢?一般厂家都会给出 Demo 程序,改改 IO 口配置就可以用了 。这种问题,不要卡太久,没什 ...
STM32,现在模拟出问题了
-
神羽鸢 发表于 2015-8-18 08:41
i2c本来就没很难,我调一个芯片调了好久都没调出来
我的不知道卡哪了!
-
瞬间感觉我们真的老了,到现在还在摸索。。。
-
{:1_103:}
-
调试的时候会吗?不会是你没勾“view”最下面的那个吧?
-
Study_Stellaris 发表于 2015-8-14 13:05
这个是不用中断的延时。
延时函数已经好了,我没有delay_init();,但是还是没通
-
这是今晚弄成这样了,还是不行。感觉是void delay_ms(u16 nms)有点问题;
void delay_ms(u16 nms)
{
u32 temp;
SysTick->LOAD=(u32)nms*fac_ms
SysTick->VAL = (0x00);
SysTick->CTRL |=0x00000001; //0x00000001;
do
{
temp=SysTick->CTRL;
}
while((temp&0x01)&&(!(temp&(1
-
weizhongc 发表于 2015-8-13 12:27
你吧整个程序上传上来吧
我把最新的放在1楼了
-
ienglgge 发表于 2015-8-12 19:01
模拟I2C,主要就是把握好时序,两个引脚都有波形了。你就根据时序对比,看看哪里发生了错误。
接传感器的一个引脚(SCL)没波形,但是程序改成其他的引脚则可以,还不知道原因
-
{:1_103:}
-
913527593@qq.com,谢谢楼主,不知道楼主在哪做板的?
-
#define IIC_SCL_0 GPIOB->BRR = GPIO_Pin_8;
#define IIC_SCL_1 GPIOB->BSRR =GPIO_Pin_8;
将SCL定义为PB8以后,SCL也有了波形,不知道是PB6引脚坏了还是复用影响到了,但是我只是模拟IIC,应该和复用没有联系,而且我也没有使能复用时钟,问题还是没有解决。求帮助!
-
#define IIC_SDA_0 GPIOB->BRR = GPIO_Pin_7;
#define IIC_SDA_1 GPIOB->BSRR = GPIO_Pin_7; //sda=1
#define IIC_SCL_0 GPIOB->BRR = GPIO_Pin_6;
#define IIC_SCL_1 GPIOB->BSRR =GPIO_Pin_6;
都是宏定义,但是SDA可以看到波形,但是SCL什么波形都没有,不知道怎么回事?
-
哈喽喽 发表于 2015-8-11 20:02
谢谢,我下到的压缩包有问题!能不能发我邮箱,不甚感激!
不好意思,我还是没弄出来
-
weizhongc 发表于 2015-8-11 21:17
发好了。如果还不行就把你整个源码发出来吧
谢谢,我先看看
-
weizhongc 发表于 2015-8-11 19:50
你先用这个改过去吧,先用别人的,后面用多了,自然会懂得
谢谢,我下到的压缩包有问题!能不能发我邮箱913527593@qq.com,不甚感激!
-
本帖最后由 哈喽喽 于 2015-8-11 20:40 编辑
#define IIC_SDA_0 GPIOB->BRR = GPIO_Pin_7;
#define IIC_SDA_1 GPIOB->BSRR = GPIO_Pin_7; //sda=1
#define IIC_SCL_0 GPIOB->BRR = GPIO_Pin_6;
#define IIC_SCL_1 GPIOB->BSRR = GPIO_Pin_6;
#define SDA_IN() GPIOB->MODER|=GPIO_Mode_INIDR
这是宏定义
-
不知道怎么回事,程序注释都是乱码
-
接受的数据在地址改变以后,数据还是不变,是不是通信有误?