外部IO中断还没有进展
先试了试利用Applilet实现串口通信
当我发送密码 ww 的时候 打印输出Hello!
貌似默认使用中断实现的
Applilet截图
同时我外接了一个USB转串口 和 J6 J7的3脚 相连 GND相连 实现在IAR中的串口调试

群上讨论说在发送多个字符的时候要加延时 我的没加 也能跑
主要修改代码
main函数
void main(void)
{
/* Start user code. Do not edit comment generated here */
// systeminit();
// 串口9600的波特率会影响到 SPS1 = _0004_SAU_CK00_FCLK_4 | _0040_SAU_CK01_FCLK_4;
// 例子给的GUI Demo SPS1 = _0002_SAU_CK00_FCLK_2 | _0020_SAU_CK01_FCLK_2;
// 发送和接收都是用中断方式
PORT_ChangeP77Output(0);
UART2_Start();
UART2_SendData("Please input the password!\r\n", 28);
UART2_ReceiveData(RxBuff,2);
while (1U)
{
// delay(100);
//
// UART2_SendHello();
}
/* End user code. Do not edit comment generated here */
}
UART2_ReceiveEndCallback 函数
void UART2_ReceiveEndCallback(void)
{
/* Start user code. Do not edit comment generated here */
if(RxBuff[0] == 'w' && RxBuff[1] == 'w')
UART2_SendHello();
// 重新开始接收数据
UART2_ReceiveData(RxBuff,2);
/* End user code. Do not edit comment generated here */
}
代码地址 myComTrans.rar
目前不知道如何实现查询方式
Chapter 7 How to Use the Renesas Flash Programmer Software
进行RFP下载



将Debug调试好的工程设置为Releae

针对没有输出hex文件的问题 修改工程的"Options"

在 Flash Programmer Software 中选择需要下载的hex文件


点击Start开始下载

下载成功

恩 确实是这样子的
用了release 之后 我的TK 和 EI 都没法调试了
只好用 RFP 清除flash

实现了每隔1s 采集电位器上电压 和 内部温度传感器
并通过串口发送出去
Applilet的设置和 andery88 的基本相同
先给个截图

主要代码参考了 官方的 GUI Demo Source Code
同时由于我没是吸纳printf函数 只好自己编写了用于打印整数和打印2位小数的函数
void SendUCHAR(UCHAR x);
void Send2BitFract(UCHAR x);
我用瑞萨自动生成的串口输出函数老是失败 只好自己写了个串口发送函数
// 定义一个串口发送状态的bit位
#define TSF10 (SSR10 & 0x40)
// 自己写的串口发送函数
MD_STATUS ww_UART2_SendData(UCHAR* txbuf, USHORT txnum)
{
int i =0;
MD_STATUS status = MD_OK;
if (txnum < 1U)
{
status = MD_ARGERROR;
}
else
{
STMK2 = 1U; /* disable INTST2 interrupt */
for(i = 0; i<txnum; i++)
{
while(TSF10)
{
NOP();
}
TXD2 = txbuf[i];
}
while(TSF10)
{
NOP();
}
STMK2 = 0U; /* enable INTST2 interrupt */
}
return (status);
}
主函数
void main(void)
{
/* Start user code. Do not edit comment generated here */
TAU0_Channel0_Start();
STIF2 = 0;
UART2_Start();
while (1U)
{
if(timerflag == 1)
{
timerflag = 0;
// 启动一次AD转换 内部参考电压 外部电压 温度传感器
GetVolTemp();
// 转换电压及温度
TransVolTemp();
// 通过串口发送出去 注意这次的串口波特率为19200
// 将结果转换成串口的结果发送出去
ww_UART2_SendData("Voltage: ", 9);
// 转换电压整数部分发送
SendUCHAR(extVoltage_int);
// 发送小数点
while(TSF10)
{
NOP();
}
UART2_SendData(".", 1);
// 转换电压小数部分发送
Send2BitFract(extVoltage_fract);
ww_UART2_SendData("\r\n", 2);
ww_UART2_SendData("Temp: ", 6);
// 转换温度整数部分发送 temp_int
SendUCHAR(temp_int);
// 发送小数点
while(TSF10)
{
NOP();
}
UART2_SendData(".", 1);
// 转换温度小数部分发送
Send2BitFract(temp_frac);
ww_UART2_SendData("\r\n\r\n", 4);
}
else
NOP();
}
/* End user code. Do not edit comment generated here */
}
视频还不会录
代码再修改下上传
利用了P2口 代码如下
int RunDirect = 0; // 移动方向
main函数
void main(void)
{
/* Start user code. Do not edit comment generated here */
UCHAR LEDS = 0xFE; // 先点亮一个灯
TAU0_Channel0_Start();
while (1U)
{
if(timerflag)
{
P2 = LEDS;
if(RunDirect)
{
LEDS >>= 1;
LEDS |= 0x80;
if(LEDS == 0xFF) // 0b11111111
{
LEDS = 0xFD; // 0b11111101
RunDirect = 0;
}
}
else
{
LEDS <<= 1;
LEDS |= 0x01;
if(LEDS == 0xFF) // 0b11111111
{
LEDS = 0xBF; // 0b10111111
RunDirect = 1;
}
}
timerflag = 0;
}
else
{
NOP();
}
}
/* End user code. Do not edit comment generated here */
}
代码: myRunLEDs.rar
图片等我找个相机
先传一个调试的截图

补充一句
在初始化P2口之后
要记得在main函数中加入一句话
// very important !!
ADPC = _01_ADPC_DI_ON;
否则输出电平有问题
之前没有实际调试 没发现这个这问题
传张照片
回复
我要赚赏金打赏帖 |
|
|---|---|
| 【FreeRtos】FreeRtos + MPU模块的配置使用被打赏¥32元 | |
| 【分享开发笔记,赚取电动螺丝刀】墨水屏文本显示器被打赏¥25元 | |
| 【STEVAL-STWINKT1B】:结合STMcubeMX读取磁力计iis2mdc被打赏¥19元 | |
| 【STEVAL-STWINKT1B】:结合STMcubeMX读取LPS22HH气压、温度被打赏¥19元 | |
| 【STEVAL-STWINKT1B】:结合STMcubeMX读取STTS751温度被打赏¥17元 | |
| 【STEVAL-STWINKT1B】:结合STMcubeMX软件读取HTS221温湿度被打赏¥22元 | |
| M5PAPERESP32EINKDEVKIT评测|使用MicroPython开发M5Paper被打赏¥15元 | |
| OK1126B-S开发板下以导航按键控制云台/机械臂姿态调整被打赏¥29元 | |
| 【树莓派5】便携热成像仪被打赏¥36元 | |
| 【树莓派5】环境监测仪被打赏¥35元 | |
我要赚赏金
