中级会员
 
- 积分
- 473
- 金钱
- 473
- 注册时间
- 2020-5-11
- 在线时间
- 217 小时
|
10金钱
本帖最后由 asshole 于 2020-12-28 14:35 编辑
硬件设备核心是stm32f103rct, max6675,连线应该是没问题的
昨天用买max6675提供的源代码直接烧录,可以测温度,说明max6675没问题
现在的问题是提供的源代码是利用的spi,但是我没有spi端口了,只能模拟,我的代码如下:
- #include "max6675.h"
- void MAX6675_Init(void)
- {
- GPIO_InitTypeDef GPIO_InitStructure;
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOC , ENABLE);
复制代码 max6675.h文件
- #ifndef __MAX6675_H__
- #define __MAX6675_H__
- #include "sys.h"
- #include "delay.h"
- #define MAX6675_DELAY delay_us(10);
- #define MAX6675_CS_H GPIO_SetBits(GPIOC,GPIO_Pin_1)
- #define MAX6675_CS_L GPIO_ResetBits(GPIOC,GPIO_Pin_1)
- #define MAX6675_CLK_H GPIO_SetBits(GPIOC,GPIO_Pin_0)
- #define MAX6675_CLK_L GPIO_ResetBits(GPIOC,GPIO_Pin_0)
- #define MAX6675_SO GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_2)
- #endif
复制代码 main.c
- int main (void)
- {
- u16 i;
- MAX6675_Init();
- USART1_Config();
- delay_init();
- while(1)
- {
- i = MAX6675_ReadValue();
- SendOneByte1(i&0x00ff);
- SendOneByte1(i>>8);
- for(i=0;i<0x2fffff;i++); //max6675的转换时间是0.2秒左右,所以两次转换间隔不要太近
- }
- }
复制代码 但是我打印出的SO全部都是1,不知道是为什么
|
|