欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
霍爾傳感器接下位機版縱撕代碼 STM32三串口通信加網絡通信代碼
[打印本頁]
作者:
duoluo165
時間:
2017-8-3 09:03
標題:
霍爾傳感器接下位機版縱撕代碼 STM32三串口通信加網絡通信代碼
STM32三串口通信加網絡通信代碼
0.png
(43.81 KB, 下載次數: 58)
下載附件
2017-8-3 16:36 上傳
霍爾傳感器接下位機版縱撕代碼單片機源程序如下:
#include <stm32f10x.h>
#include <string.h>
#include "includes.h"
#include "timer.h"
#include <stdio.h>
u8 volatile rcv_usart1_str_flag = 0; //串口數據接收啟動標記
u8 volatile rcv_usart1_end_flag = 0; //串口數據接收結束標記
u8 volatile rcv_usart1_over_count = 0; //數據接收時間溢出標記
u8 inRx1Buf[50]; //接收緩存
u16 inRx1Length = 0; //接收字節長度
u16 PD_Length=0;
extern u8 kt_flag;
u8 SD_flag=0;
u8 zero_data[4]={0x87,0xff,0xff,0x0a};
unsigned char txt_buf[8]= {0xA5,0x5A,0x05,0x82,0x00,0x02,0x00,0x00};
unsigned char on_off_data[3]={0x88,0x00,0x0a};
unsigned char ceshi_data[3]={0x00,0x00,0x00};
//========
char test[UART1BUF_LEN];
//-=======
u8 uart1RxBuf[UART1BUF_LEN];
u8 uart1RxStart = 0;
u8 uart1RxEnd = 0;
u8 uart2RxBuf[UART2BUF_LEN];
u8 uart2RxStart = 0;
u8 uart2RxEnd = 0;
u8 uart3RxBuf[UART1BUF_LEN];
u8 uart3RxStart = 0;
u8 uart3RxEnd = 0;
void LED_ON(void);
void LED_OFF(void);
void InitLedIO(void);
void USART1_Init(void);
int WriteString(u8 *text, FIL *file);
extern u8 bootup_adjust;
extern u8 bootup_font_update;
#if ICO_TO_SD==0
extern u8 bootup_ico_update;
#endif
u8 wlSendBuf[32];
int res = -1;
u8 rt_flag=0;
UINT byte_read = 0;
int volatile isFileOpen = -1;
//unsigned char *txt_buf0;
int readok=0;
void NVIC_Configuration(void)
{
NVIC_InitTypeDef NVIC_InitStructure;
GPIO_InitTypeDef GPIO_InitStructure;
EXTI_InitTypeDef EXTI_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;
//GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_ResetBits(GPIOB, GPIO_Pin_1);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_ResetBits(GPIOB, GPIO_Pin_6);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_ResetBits(GPIOB, GPIO_Pin_7);
//GPIOA.0 中斷線以及中斷初始化配置 上升沿觸發 PA0 WK_UP
GPIO_EXTILineConfig(GPIO_PortSourceGPIOA,GPIO_PinSource0);
EXTI_InitStructure.EXTI_Line=EXTI_Line0;
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStructure); //根據EXTI_InitStruct中指定的參數初始化外設EXTI寄存器
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn; //使能按鍵WK_UP所在的外部中斷通道
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; //搶占優先級2,
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; //子優先級3
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //使能外部中斷通道
NVIC_Init(&NVIC_InitStructure);
NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=3 ;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
NVIC_InitStructure.NVIC_IRQChannel = USART2_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
NVIC_InitStructure.NVIC_IRQChannel = USART3_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
//GPIO_SetBits(GPIOB, GPIO_Pin_5);
GPIO_ResetBits(GPIOB, GPIO_Pin_5);
}
void App_Init(void)
{
delay_init(72);
NVIC_Configuration();
USART_Configuration();
delay_ms(1500);
Timer_Configuration();
InitLedIO();
}
void reflus()
{
int i;
for(i=0;i<60;i++)
{
test[i]=0;
uart1RxEnd=0;
}
}
int main(void)
{
int i;
u8 s[20];
SystemInit();
App_Init();
delay_ms(10);
PD_Length=0;
USART1_Put_Data(ceshi_data,3);
USART3_Put_Data(ceshi_data,3);
txt_buf[6]=PD_Length>>8;
txt_buf[7]=PD_Length&0x00ff;
//USART1_Put_Data(txt_buf,8);
// GPIO_SetBits(GPIOB, GPIO_Pin_6);
// GPIO_SetBits(GPIOB, GPIO_Pin_7);
USART1_Put_Data(zero_data,4);
USART3_Put_Data(zero_data,4);
delay_ms(1000);
if(kt_flag==1)
{
SD_flag=0;
on_off_data[1]=0x06;
GPIO_ResetBits(GPIOB, GPIO_Pin_1);
USART1_Put_Data(on_off_data,3);
USART3_Put_Data(on_off_data,3);
}
else
{
SD_flag=1;
on_off_data[1]=0x05;
GPIO_SetBits(GPIOB, GPIO_Pin_1);
USART1_Put_Data(on_off_data,3);
USART3_Put_Data(on_off_data,3);
}
while(1)
{
if(kt_flag==1&&SD_flag==1)
{
delay_ms(1500);
if(kt_flag==1)
{
SD_flag=0;
on_off_data[1]=0x06;
GPIO_ResetBits(GPIOB, GPIO_Pin_1);
USART1_Put_Data(on_off_data,3);
USART3_Put_Data(on_off_data,3);
}
}
uart1RxEnd=0;
uart3RxEnd=0;
}
}
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
霍爾傳感器接下位機版縱撕.7z
(841.73 KB, 下載次數: 18)
2022-11-22 02:52 上傳
點擊文件名下載附件
STMF通信
下載積分: 黑幣 -5
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1