flash.c

来自「Hitech microchip PIC C18 Compiler」· C语言 代码 · 共 54 行

C
54
字号
/*A sample project file to be used with HI-TIDE, to demonstrate the functionality of the microcontroller's FLASH memory.*//*Refer to flash.txt for additional information*//*Source code for flash_read and flash_write routines used in this example is found in ~/PIC18/sources/	 directory*/#include <pic18.h>#include "flash.h"#include <stdio.h>void init(void);volatile bit RESET;volatile const unsigned char old_text[]="Insert text here";	/*this is the variable in FLASH where the old text resides*/unsigned char new_text[]="HI-TECH Software";	/*unlike the old_text this is not a CONST -> stored in data RAM */far unsigned char * source_ptr = (far unsigned char *)new_text;    /*pointers to data*/far unsigned char * dest_ptr = (far unsigned char *)old_text;unsigned char size = sizeof(new_text);						void main(void){    init();	while(1){		printf("\rcode string reads: %s\n",dest_ptr);	/*print the string from flash*/		printf("\rwriting to flash...\n");		flash_write(source_ptr,size,dest_ptr);			/*write to flash memory from data memory */		printf("\rcode string reads: %s\n",dest_ptr);	/*print the string from flash*/		while(!RESET);		RESET=0;	}}void putch(unsigned char c){	while(!TXIF)continue;    TXREG=c;					/*transmit a character to Serial IO */}void init(void){    RBIE=1;            /*enable PORTB interrupts to */    GIEH=1;            /*allow interrupts from PUSH BUTTONS */    GIEL=1;     SPBRG = DIVIDER;       /*enable serial port transmissions */    TXSTA = (SPEED|0x20);  /*and set up BAUD rate generator*/    RCSTA = (0x90);															TRISB=0xF0;        /*use port B inputs for interface*/	TRISC=0x80;	RESET=0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?