OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 10357|回复: 5

跪求大侠帮我看看485的程序哪里出问题了~急~~~

[复制链接]

2

主题

12

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2011-7-13
在线时间
0 小时
发表于 2011-7-13 08:53:16 | 显示全部楼层 |阅读模式

 我用232的程序改成485的程序了
用串口232运行就正常 用到485就怎么都用不了
跪求各位大侠帮帮忙看下程序哪里有问题 感激不尽…

void GPIO_Configuration(void)
{
 GPIO_InitTypeDef GPIO_InitStructure;
 /* Configure USART3 Tx (PB.10) as alternate function push-pull */
   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
   GPIO_Init(GPIOB, &GPIO_InitStructure);
   
   /* Configure USART3 Rx (PB.11) as input floating */
   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;
   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
   GPIO_Init(GPIOB, &GPIO_InitStructure);
}

//系统中断管理
void NVIC_Configuration(void)
{
   /* Configure the NVIC Preemption Priority Bits */ 
   NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);

 #ifdef  VECT_TAB_RAM 
   /* Set the Vector Table base location at 0x20000000 */
   NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0);
 #else  /* VECT_TAB_FLASH  */
   /* Set the Vector Table base location at 0x08000000 */
   NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);  
 #endif
}

//配置系统时钟,使能各外设时钟
void RCC_Configuration(void)
{
 SystemInit(); 
 RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA
                           |RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC
                           |RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE
         |RCC_APB2Periph_ADC1  | RCC_APB2Periph_AFIO
                           |RCC_APB2Periph_SPI1, ENABLE );
     RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4 | RCC_APB1Periph_USART2
                           |RCC_APB1Periph_USART3|RCC_APB1Periph_TIM2                           
                           , ENABLE );
  RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);
}


void USART3_SendByte(u16 Data)
{
   while (!(USART3->SR & USART_FLAG_TXE));
   USART3->DR = (Data & (uint16_t)0x01FF); 
  
}
void USART3Write(u8* data,u16 len)
{
 u16 i;
// DIR485_H ;
 for (i=0; i<len; i++){
  USART3_SendByte(data);
 }
// Delay10us(1000);
// DIR485_L;  

void USART3_Configuration(void)
{
 USART_InitTypeDef USART_InitStructure;
 USART_InitStructure.USART_BaudRate            = 115200  ;
 USART_InitStructure.USART_WordLength          = USART_WordLength_8b;
 USART_InitStructure.USART_StopBits            = USART_StopBits_1;
 USART_InitStructure.USART_Parity              = USART_Parity_No ;
 USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
 USART_InitStructure.USART_Mode                = USART_Mode_Rx | USART_Mode_Tx;
 USART_Init(USART3, &USART_InitStructure);
 USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);
 USART_Cmd(USART3, ENABLE);    
/* DIR485_L;  */
}

void USART3_IRQHandler(void)
{
 u8 c;
 if(USART_GetITStatus(USART3, USART_IT_RXNE) != RESET)
 {  
     c=USART3->DR;
  USART3_SendByte(c);     
 }  
}

void Init_All_Periph(void)
{
 RCC_Configuration(); 
 InitDis();
 GPIO_Configuration();                       

 NVIC_Configuration();
 USART3_Configuration();
  USART3Write((u8*)"    USART_example ",sizeof("    USART_example "));
}

int main(void)

 Init_All_Periph();
 SendMessage();
  while(1)
   {

   }
}

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2011-7-13 09:15:07 | 显示全部楼层
485需要两块单片机同时工作,一端发送一端接收.
1,先检查硬件条件是否符合,发送接收的状态是否设置正确.
2,你的SendMessage没有.无法看问题.
 
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

2

主题

12

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2011-7-13
在线时间
0 小时
 楼主| 发表于 2011-7-13 09:25:37 | 显示全部楼层
硬件别人验证过没有问题 
我是用485A B出来转232 再接到电脑 这样测试可以吗?
回复 支持 反对

使用道具 举报

2

主题

12

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2011-7-13
在线时间
0 小时
 楼主| 发表于 2011-7-13 09:26:05 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
硬件别人验证过没有问题  
我是用485A B出来转232 再接到电脑 这样测试可以吗?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2011-7-13 10:21:27 | 显示全部楼层
回复【4楼】shmilcici:
---------------------------------
单片机232<---->485<---->485<---->RS232<---->C
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

2

主题

12

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2011-7-13
在线时间
0 小时
 楼主| 发表于 2011-7-13 15:46:15 | 显示全部楼层
回复【5楼】正点原子:
---------------------------------
非常感谢原子哥耐心回复我这种菜鸟级的问题
我明白了~
感谢~感谢~感谢……………
原子哥~支持你~~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-24 17:50

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表