📄 main.c
字号:
//-----------------------------------------------------------------
// 名称: PIC18单片机SPI EEPROM及USART读写测试
//-----------------------------------------------------------------
// 说明: 本例运行时,首先通过PICC18库函数打开SPI模块,然后向25LC080B
// 写入16字节数据,随后用顺序读取函数读取16字节,通过串口发送到
// 虚拟终端显示.
//
//-----------------------------------------------------------------
#include <htc.h>
#include <stdio.h>
#include <string.h>
#define INT8U unsigned char
#define INT16U unsigned int
#define SPI_CS LATCbits.LATC2 //SPI CS控制引脚定义
//-----------------------------------------------------------------
// 本例函数声明
//-----------------------------------------------------------------
void Set_EN_Write();
void Busy_Polling();
INT8U Read_Status();
void Write_Status(INT8U data);
void Write_Byte(INT8U H_Addr,INT8U L_Addr,INT8U data);
void Write_String(INT8U H_Addr,INT8U L_Addr,INT8U *wrptr);
void Read_String(INT8U H_Addr,INT8U L_Addr,INT8U *rdptr,INT8U count);
INT8U Read_Byte(INT8U H_Addr,INT8U L_Addr);
INT8U dat;
INT8U MyString[] = "abcdefghijklmnopqrstuvwxyz";
INT8U MyBuff[26];
//-----------------------------------------------------------------
// 主程序
//-----------------------------------------------------------------
void main()
{
INT8U i,s[6];
OpenUSART( USART_TX_INT_OFF & //发送中断关
USART_RX_INT_OFF & //接收中断关
USART_ASYNCH_MODE & //异步模式
USART_EIGHT_BIT & //8位收发
USART_CONT_RX & //持续接收
USART_BRGH_HIGH, //高速模式(默认值,可省)
25 ); //异步高速模式公式,FOSC/9600/16–1=25
putsUSART((char*)"PIC18 USART & SPI Memory 25LC08B Test...\n\r");
putsUSART((char*)"Open SPI...\n\r");
}
//-----------------------------------------------------------------
// 使能写
//-----------------------------------------------------------------
void Set_EN_Write()
{
}
//-----------------------------------------------------------------
// 向SPI总线写入一字节
//-----------------------------------------------------------------
void Write_Byte(INT8U H_Addr,INT8U L_Addr,INT8U data)
{
}
//-----------------------------------------------------------------
// 从SPI总线读取一字节
//-----------------------------------------------------------------
INT8U Read_Byte (INT8U H_Addr,INT8U L_Addr)
{
}
//-----------------------------------------------------------------
// 读SPI状态
//-----------------------------------------------------------------
INT8U Read_Status()
{
}
//-----------------------------------------------------------------
// 写SPI状态
//-----------------------------------------------------------------
void Write_Status(INT8U data)
{
}
//-----------------------------------------------------------------
// 忙等待
//-----------------------------------------------------------------
void Busy_Polling()
{
}
//-----------------------------------------------------------------
// 写字符串
//-----------------------------------------------------------------
void Write_String(INT8U H_Addr,INT8U L_Addr,INT8U *wrptr)
{
}
//-----------------------------------------------------------------
// 从SPI总线读取多个字符
//-----------------------------------------------------------------
void Read_String(INT8U H_Addr,INT8U L_Addr,INT8U *rdptr,INT8U count)
{
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -