亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標題:
修改的原子哥的串口寫數據顯示到1602液晶STM32源程序
[打印本頁]
作者:
風氣天藍
時間:
2019-1-19 09:42
標題:
修改的原子哥的串口寫數據顯示到1602液晶STM32源程序
使用原子哥的程序,自己改動了一下能夠通過串口寫數據顯示到1602液晶上。
STM32單片機源程序如下:
#include "stm32f10x.h"
#include "sys.h"
#include "delay.h"
#include "usart.h"
#define LCD_1602RS GPIO_Pin_12
#define LCD_1602RW GPIO_Pin_13
#define LCD_1602EN GPIO_Pin_14
//unsigned char table[];
unsigned char table2[13];
unsigned char a;
u8 i;
u8 res;
u8 flag;
u8 j;
//串口初始化
void My_USART1_Init(void)
{
GPIO_InitTypeDef GPIO_InitStrue;
USART_InitTypeDef USART_InitStrue;
NVIC_InitTypeDef NVIC_InitStrue;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); //使用相應的時鐘
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);
GPIO_InitStrue.GPIO_Mode=GPIO_Mode_AF_PP;
GPIO_InitStrue.GPIO_Pin=GPIO_Pin_9;
GPIO_InitStrue.GPIO_Speed=GPIO_Speed_10MHz;
GPIO_Init (GPIOA,&GPIO_InitStrue); //初始化IO口
GPIO_InitStrue.GPIO_Mode=GPIO_Mode_IN_FLOATING ;
GPIO_InitStrue.GPIO_Pin=GPIO_Pin_10;
GPIO_InitStrue.GPIO_Speed=GPIO_Speed_10MHz;
GPIO_Init (GPIOA,&GPIO_InitStrue); //初始化IO口
USART_InitStrue.USART_BaudRate=115200;
USART_InitStrue.USART_HardwareFlowControl=USART_HardwareFlowControl_None;
USART_InitStrue.USART_Mode=USART_Mode_Tx|USART_Mode_Rx;
USART_InitStrue.USART_Parity=USART_Parity_No;
USART_InitStrue.USART_StopBits=USART_StopBits_1;
USART_InitStrue.USART_WordLength=USART_WordLength_8b;
USART_Init(USART1,&USART_InitStrue);
USART_Cmd(USART1,ENABLE); //使能串口1
USART_ITConfig(USART1,USART_IT_RXNE,ENABLE); //開啟接受中斷
NVIC_InitStrue.NVIC_IRQChannel=USART1_IRQn;
NVIC_InitStrue.NVIC_IRQChannelCmd=ENABLE;
NVIC_InitStrue.NVIC_IRQChannelPreemptionPriority=1;
NVIC_InitStrue.NVIC_IRQChannelSubPriority=1;
NVIC_Init(&NVIC_InitStrue); //中斷優先級的設置
}
//寫命令
void LCD1602_Write_Cmd(unsigned char cmd)
{
GPIO_ResetBits(GPIOF,LCD_1602RS); //RS 0
delay_us(2);
GPIO_ResetBits(GPIOF,LCD_1602RW); //RW 0
GPIO_Write(GPIOD, cmd);
GPIO_ResetBits(GPIOF,LCD_1602EN); //E 0
delay_us(2);
GPIO_SetBits(GPIOF,LCD_1602EN); //E 1
delay_us(2);
GPIO_ResetBits(GPIOF,LCD_1602EN); //E 0
}
//寫數據
void LCD1602_Write_Date(unsigned char dat)
{
GPIO_SetBits(GPIOF,LCD_1602RS); //RS 1 RS高是數據,低是命令
delay_us(2);
GPIO_ResetBits(GPIOF,LCD_1602RW); //RW 0
GPIO_Write(GPIOD, dat);
GPIO_ResetBits(GPIOF,LCD_1602EN); //E 0
delay_us(2);
GPIO_SetBits(GPIOF,LCD_1602EN); //E 1
delay_us(2);
GPIO_ResetBits(GPIOF,LCD_1602EN); //E 0
delay_us(2);
}
//VO 11
//RS 12
//RW 13
//E 14
int main(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
SystemInit(); //系統時鐘初始化
delay_init(); //延時函數初始化
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD|RCC_APB2Periph_GPIOF, ENABLE); //使能PF,PD端口時鐘
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽輸出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度為50MHz
GPIO_Init(GPIOD, &GPIO_InitStructure); //初始化GPIOD0~7
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽輸出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度為50MHz
GPIO_Init(GPIOF, &GPIO_InitStructure); //初始化GPIOB 11,14,13,12
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
delay_ms(300);
//液晶初始化
LCD1602_Write_Cmd(0x38); //顯示16*2
delay_us(10);
LCD1602_Write_Cmd(0x0c);
delay_us(10);
LCD1602_Write_Cmd(0x06); //讀寫字符后地址加1,屏顯不移動
delay_us(10);
LCD1602_Write_Cmd(0x01); //清屏,數據指針清零
delay_us(10);
//LCD1602_Write_Cmd(0x80); //設置數據地址指針初始值
delay_us(2);
My_USART1_Init();
while(1)
{
//LCD1602_Write_Cmd(0x01); //清屏,數據指針清零
if(flag == 1)
{
LCD1602_Write_Cmd(0x01); //清屏,數據指針清零
delay_ms(1);
flag = 0;
for(i = 0;i<j-1;i++)
{
LCD1602_Write_Cmd(0x80+i);
delay_ms(1);
LCD1602_Write_Date(table2[i]);
delay_ms(1);
}
delay_ms(30000);
i = 0;
// LCD1602_Write_Cmd(0x01); //清屏,數據指針清零
}
}
}
void USART1_IRQHandler(void)
{
if(USART_GetITStatus(USART1,USART_IT_RXNE))
{
table2[i++] = USART_ReceiveData(USART1);
USART_SendData(USART1,table2[i-1]);
if(table2[i-1] == '#')
{
flag = 1;
j = i;
i = 0;
}
}
}
復制代碼
所有資料51hei提供下載:
串口——液晶.7z
(182.12 KB, 下載次數: 40)
2019-1-19 17:15 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
jushihao
時間:
2019-1-26 17:33
樓主可不可以做一個用USMART調試串口的,這個更加方便,但是我還不熟悉STM32,因為USMART版本兼容問題老是各種報錯,謝謝!
作者:
夢園心田
時間:
2019-2-3 02:59
不錯,51黑有你更精彩
作者:
witp
時間:
2019-7-25 19:30
謝謝分享,學習中。。。。
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1